#aRC126Cid610. Maximize GCD

Maximize GCD

AT_arc126_c [ARC126C] Maximize GCD

题目描述

给定一个由 NN 项组成的正整数序列 A=(A1,A2,,AN)A = (A_1, A_2, \ldots, A_N)。你可以对该数列进行 00 次以上、KK 次以下的如下操作:

  • 选择一个 i{1,2,,N}i \in \{1, 2, \ldots, N\},将 AiA_i11

请你求出经过操作后,gcd(A1,A2,,AN)\gcd(A_1, A_2, \ldots, A_N) 可能取得的最大值。

输入格式

输入以如下格式从标准输入读入。

NN KK A1A_1 A2A_2 \ldots ANA_N

输出格式

输出操作后 gcd(A1,A2,,AN)\gcd(A_1, A_2, \ldots, A_N) 可能取得的最大值。

输入输出样例 #1

输入 #1

3 6
3 4 9

输出 #1

5

输入输出样例 #2

输入 #2

3 4
30 10 20

输出 #2

10

输入输出样例 #3

输入 #3

5 12345
1 2 3 4 5

输出 #3

2472

说明/提示

限制条件

  • 2N3×1052 \leq N \leq 3 \times 10^5
  • 1K10181 \leq K \leq 10^{18}
  • 1Ai3×1051 \leq A_i \leq 3 \times 10^5

样例解释 1

例如,可以如下操作使得 gcd(A1,A2,A3)=5\gcd(A_1, A_2, A_3) = 5

  • i=1i = 1 操作 22 次,对 i=2i = 2 操作 11 次,对 i=3i = 3 操作 11 次。总操作次数为 44,不超过 K=6K = 6
  • 操作后,A1=5A_1 = 5A2=5A_2 = 5A3=10A_3 = 10,此时 gcd(A1,A2,A3)=5\gcd(A_1, A_2, A_3) = 5

样例解释 2

如果一次操作也不进行,则 gcd(A1,A2,A3)=10\gcd(A_1, A_2, A_3) = 10

由 ChatGPT 4.1 翻译