Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:256 MB
Statistics

题目描述

有 n 筐苹果, 第 i 筐苹果中有 ai 个苹果, 现在你可以吃掉任意一筐里面的苹果,但是由于食量有限,不能吃超过 k 个苹果。
请问, 如何让这 n 筐中苹果数量的最大公约数尽可能大。 并输出这个最大公约数。

输入格式

第一行是两个整数 n 和 k,表示苹果筐数和吃掉苹果个数的上限。
第二行包含 n 个整数 a1, a2, ... aN,表示第 1, 2, ... N 个筐内的苹果数

输出格式

输出 n 筐中苹果数量最大的最大公约数。

样例数据1

input

6 10
5 6 7 8 9 10

output

5

【样例1解释】

第二筐吃掉 1 个,第三框吃掉 2 个,第四筐吃掉 3 个,第五筐吃掉 4 个,一共吃掉 10个苹果,最大公约数为 5。

样例数据2

input

10 3
10 10 10 10 10 10 10 10 10 14

output

2

【样例2 解释】

一个苹果也不吃,最大公约数为 2。

【数据范围】

对于 30%的数据, 1<=n<=1000
另有 30%的数据, ai<=1000
对于 100%的数据, 1<=n<=1000000, ai<=1000000,k<=10^9