#abc136e. Max GCD

Max GCD

Max GCD

题目描述

有一个长度为 NN 的整数序列 A1, A2, , ANA_1,\ A_2,\ \cdots,\ A_N

你可以进行如下操作 00 次或多次,最多不超过 KK 次:

  • 选择 11NN 之间的两个整数 i, ji,\ j,且 iji \neq j,将 AiA_i11,将 AjA_j11。操作后,序列中的某些元素可以变为负数。

请计算,经过操作后,作为能整除 AA 的所有元素的正整数中的最大值是多少。这里,正整数 xx 能整除整数 yy,是指存在某个整数 zz,使得 y=xzy = xz

输入格式

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

NN KK A1A_1 A2A_2 \cdots AN1A_{N-1} ANA_N

输出格式

输出经过操作后,能整除 AA 的所有元素的正整数中的最大值。

样例 #1

样例输入

2 3
8 20

样例输出

7

样例 #2

样例输入

2 10
3 5

样例输出

8

样例 #3

样例输入

4 5
10 1 2 22

样例输出

7

样例 #4

样例输入

8 7
1 7 5 6 8 2 6 5

样例输出

5

说明/提示

限制条件

  • 2N5002 \leq N \leq 500
  • 1Ai1061 \leq A_i \leq 10^6
  • 0K1090 \leq K \leq 10^9
  • 所有输入均为整数

样例解释 1

例如,可以通过如下操作使 77 能整除 AA 的所有元素:

  • i=2,j=1i = 2, j = 1,此时 AA 变为 (7,21)(7, 21)。 此外,无法使 88 或更大的整数整除 AA 的所有元素。

样例解释 2

例如,可以进行如下 55 次操作:

  • i=2,j=1i = 2, j = 1,此时 AA 变为 (2,6)(2, 6)
  • i=2,j=1i = 2, j = 1,此时 AA 变为 (1,7)(1, 7)
  • i=2,j=1i = 2, j = 1,此时 AA 变为 (0,8)(0, 8)
  • i=2,j=1i = 2, j = 1,此时 AA 变为 (1,9)(-1, 9)
  • i=1,j=2i = 1, j = 2,此时 AA 变为 (0,8)(0, 8)。 此时,0=8×0, 8=8×10 = 8 \times 0,\ 8 = 8 \times 1,因此 88 能整除 AA 的所有元素。此外,无法使 99 或更大的整数整除 AA 的所有元素。

由 ChatGPT 4.1 翻译