已结束 GESP巅峰赛#22

A5040 | gcd

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

现在有 $n$ 个数,数组为 $a_1,a_2,\dots$ ,现在你至多进行一次操作,操作规则如下:

- 你可以选择一个任意长度的子序列 $a_{b_1},a_{b_2},\dots$ 。
- 然后求得子序列的最大公因数 $g$ 。
- 将子序列每一个数 $a_{b_i}$变为 $\frac{a_{b_i} \times (g+ 1 )}{g}$。

现在问最多进行一次操作之后,整个数组的最大公因数最大会变成多少。

输入格式

第一行输入一个整数 $n$,代表整个数组的长度 $n$ 。

第二行输入 $n$ 个整数 $a_i$ ,代表整个数组的原始值。

输出格式

输出一个整数,代表最多经过一次操作后,整个数组的最大公因数的最大值。

输入输出样例

输入 #1
5
1 2 3 4 5
输出 #1
2
输入 #2
5
20 4 4 10 5
输出 #2
5
C++ 编辑器
输入
输出