#P1495. 2024.8.28-秋招-第2题-数组消除

2024.8.28-秋招-第2题-数组消除

题目内容

给定一个整数数组numsnums,同时给定一个整数intervalinterval

指定数组numsnums中的某个元素作为起点,然后以intervalinterval 为间隔递增,如果递增的数(包含起点)等于numsnums中的元素,则数组numsnums中对应的元素消除,返回消除元素最多的起点元素。如果消除的元素同样多,则返回最小的起点元素。

输入描述

输入格式:

第一行输入整数数组的长度nn

第二行输入长度为nn的整数数组numsnums

第三行输入整数intervalinterval

1=n=1051<=n<=10^5

0=nums[i]=1080<=nums[i]<=10^8

0=interval=1050<=interval<=10^5

输出描述

起点元素的最小值

样例1

输入

6
4 5 7 1 1 2
3

输出

1

说明

输入给定的间隔为33,如果以元素11为起点,则可以消除1,4,7,10,...1,4,7,10,...这些元素,因此,我们可以消除给定数组中的4,7,1,14,7,1,144个元素,以其他元素为起点也没有办法消除更多元素了,因此返回11

样例2

输入

5
4 5 7 1 2
50

输出

1

说明

输入给定的间隔为5050,如果以元素11为起点,则可以消除1,51,1011,51,101这些元素,因此,我们可以消除给定数组中的11这个元素,同理,如果以22为起点,则可以消除2,52,1022,52,102这些元素,因此我们可以消除给定数组中的22这个元素,以此类推,无论以哪个元素作为起点,都只能消除11个元素,因此返回最小的起点元素11