题目描述
给定一个由 N 个正整数组成的序列:A=(A1,A2,…,AN)。你可以对这个序列执行以下操作,至少为零次、最多为 K 次:
- 选择 i∈{1,2,…,N} 并将 Ai 增加 1。
在执行完操作后,找出 gcd(A1,A2,…,AN) 的最大可能值。
约束条件
- 2≤N≤3×105
- 1≤K≤1018
- 1≤Ai≤3×105
输入
从标准输入中按以下格式获得输入:
N K
A1 A2 … AN
输出
打印执行操作后 gcd(A1,A2,…,AN) 的最大可能值。
示例输入 1
3 6
3 4 9
示例输出 1
5
一种使得 gcd(A1,A2,A3)=5 的方法如下:
- 对 i=1 执行两次操作,对 i=2 执行一次操作,对 i=3 执行一次操作,总共四次操作,不超过 K=6。
- 现在我们有 A1=5,A2=5,A3=10,它们的 gcd(A1,A2,A3)=5。
示例输入 2
3 4
30 10 20
示例输出 2
10
不执行任何操作即可使得 gcd(A1,A2,A3)=10。
示例输入 3
5 12345
1 2 3 4 5
示例输出 3
2472