AT_arc126_c [ARC126C] Maximize GCD
题目描述
给定一个由 $N$ 项组成的正整数序列 $A = (A_1, A_2, \ldots, A_N)$。你可以对该数列进行 $0$ 次以上、$K$ 次以下的如下操作:
- 选择一个 $i \in \{1, 2, \ldots, N\}$,将 $A_i$ 加 $1$。
请你求出经过操作后,$\gcd(A_1, A_2, \ldots, A_N)$ 可能取得的最大值。
输入格式
输入以如下格式从标准输入读入。
> $N$ $K$ $A_1$ $A_2$ $\ldots$ $A_N$
输出格式
输出操作后 $\gcd(A_1, A_2, \ldots, A_N)$ 可能取得的最大值。
说明/提示
### 限制条件
- $2 \leq N \leq 3 \times 10^5$
- $1 \leq K \leq 10^{18}$
- $1 \leq A_i \leq 3 \times 10^5$
### 样例解释 1
例如,可以如下操作使得 $\gcd(A_1, A_2, A_3) = 5$:
- 对 $i = 1$ 操作 $2$ 次,对 $i = 2$ 操作 $1$ 次,对 $i = 3$ 操作 $1$ 次。总操作次数为 $4$,不超过 $K = 6$。
- 操作后,$A_1 = 5$,$A_2 = 5$,$A_3 = 10$,此时 $\gcd(A_1, A_2, A_3) = 5$。
### 样例解释 2
如果一次操作也不进行,则 $\gcd(A_1, A_2, A_3) = 10$。
由 ChatGPT 4.1 翻译