AT_abc136_e.[ABC136E] Max GCD
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个长度为 N 的整数序列 A1, A2, ⋯, AN。
你可以进行如下操作 0 次或多次,最多不超过 K 次:
- 选择 1 到 N 之间的两个整数 i, j,且 i=j,将 Ai 加 1,将 Aj 减 1。操作后,序列中的某些元素可以变为负数。
请计算,经过操作后,作为能整除 A 的所有元素的正整数中的最大值是多少。这里,正整数 x 能整除整数 y,是指存在某个整数 z,使得 y=xz。
输入格式
输入以如下格式从标准输入读入:
N K A1 A2 ⋯ AN−1 AN
输出格式
输出经过操作后,能整除 A 的所有元素的正整数中的最大值。
输入输出样例
输入#1
2 3 8 20
输出#1
7
输入#2
2 10 3 5
输出#2
8
输入#3
4 5 10 1 2 22
输出#3
7
输入#4
8 7 1 7 5 6 8 2 6 5
输出#4
5
说明/提示
限制条件
- 2≤N≤500
- 1≤Ai≤106
- 0≤K≤109
- 所有输入均为整数
样例解释 1
例如,可以通过如下操作使 7 能整除 A 的所有元素:
- 令 i=2,j=1,此时 A 变为 (7,21)。
此外,无法使 8 或更大的整数整除 A 的所有元素。
样例解释 2
例如,可以进行如下 5 次操作:
- 令 i=2,j=1,此时 A 变为 (2,6)。
- 令 i=2,j=1,此时 A 变为 (1,7)。
- 令 i=2,j=1,此时 A 变为 (0,8)。
- 令 i=2,j=1,此时 A 变为 (−1,9)。
- 令 i=1,j=2,此时 A 变为 (0,8)。
此时,0=8×0, 8=8×1,因此 8 能整除 A 的所有元素。此外,无法使 9 或更大的整数整除 A 的所有元素。