题目描述
给定一个由 N 项组成的正整数序列 A=(A1,A2,…,AN)。你可以对该数列进行 0 次以上、K 次以下的如下操作:
- 选择一个 i∈{1,2,…,N},将 Ai 加 1。
请你求出经过操作后,gcd(A1,A2,…,AN) 可能取得的最大值。
输入格式
输入以如下格式从标准输入读入。
N K A1 A2 … AN
输出格式
输出操作后 gcd(A1,A2,…,AN) 可能取得的最大值。
样例 1
输入
3 6
3 4 9
输出
5
样例 2
输入
3 4
30 10 20
输出
10
样例 3
输入
5 12345
1 2 3 4 5
输出
2472
说明/提示
限制条件
- 2≤N≤3×105
- 1≤K≤1018
- 1≤Ai≤3×105
样例解释 1
例如,可以如下操作使得 gcd(A1,A2,A3)=5:
- 对 i=1 操作 2 次,对 i=2 操作 1 次,对 i=3 操作 1 次。总操作次数为 4,不超过 K=6。
- 操作后,A1=5,A2=5,A3=10,此时 gcd(A1,A2,A3)=5。
样例解释 2
如果一次操作也不进行,则 gcd(A1,A2,A3)=10。
由 ChatGPT 4.1 翻译