#HJ1021. maxgcd

maxgcd

最大 gcd\gcd(maxgcd,1s/256M)

题目描述

给一个长度为 nn 的序列a:a1,a2ana:a_1,a_2\cdots a_n

定义序列的最大 gcd\gcd 为:每次选择两个正整数 i,j(1i<jn)i,j(1 \leq i < j \leq n),最大的 gcd(ai,aj)\gcd(a_i, a_j) 即为这个序列的最大 gcd\gcd

!请使用文件输入输出!本题从maxgcd.in中读取输入,将答案输出到maxgcd.out中!直接从标准输入输出中读取/输出数据没有成绩!

输入描述

第一行两个整数 n(2n1×106)n(2\leq n \leq 1\times10^6).

第二行 nn 个正整数 a1,a2,a3,,an(1ai106)a_1,a_2,a_3,\cdots ,a_n(1\leq a_i \leq 10^6),表示序列 aa

输出描述

一个整数,表示这个序列的最大 gcd\gcd

输入样例1
3
1 2 2
输出样例1
2
样例解释

gcd(a1,a2)=gcd(1,2)=1\gcd(a_1, a_2) = \gcd(1,2) = 1

gcd(a1,a3)=gcd(1,2)=2\gcd(a_1, a_3) = \gcd(1,2) = 2

gcd(a2,a3)=gcd(2,2)=2\gcd(a_2, a_3) = \gcd(2,2) = 2 所以最大 gcd\gcd22

数据范围

  • 对于 20%20\% 的数据,2n1×103 2\leq n \leq 1\times10^3, 1  ai 1061\ \le\ a_i \leq\ 10^6
  • 对于 100%100\% 的数据,2n1×106 2\leq n \leq 1\times10^6, 1  ai 1061\ \le\ a_i \leq\ 10^6