#P5682. [CSP-J2019 江西] 次大值

[CSP-J2019 江西] 次大值

题目描述

Alice 有 nn 个正整数,数字从 1n1 \sim n 编号,分别为 a1,a2,,ana_1,a_2, \dots , a_n
Bob 刚学习取模运算,于是便拿这 nn 个数进行练习,他写下了所有

aimodaj(1i,jnij)a_i \bmod a_j (1 \le i,j \le n \wedge i \neq j)

的值,其中 mod\bmod 表示取模运算。

Alice 想知道所有的结果中,严格次大值是多少。将取模后得到的所有值进行去重,即相同的结果数值只保留一个,剩余数中第二大的值就称为严格次大值。

输入格式

第一行一个正整数 nn,表示数字个数。
第二行 nn 个正整数表示 aia_i

输出格式

仅一行一个整数表示答案。
若取模结果去重后剩余数字不足两个,则输出 1-1

4
4 5 5 6
4
4
1 1 1 1
-1
7
12 3 8 5 7 20 15
12

提示

【数据范围】
对于 40%40\% 的数据,1n,ai1001\le n,a_i \le 100
对于 70%70\% 的数据,1n30001\le n \le 30001ai1051\le a_i \le 10^5
对于 100%100\% 的数据,3n2×1053 \le n \le 2\times 10^51ai1091\le a_i \le 10^9

【样例 11 解释】
所有取模的结果为 {4,4,4,1,0,5,1,0,5,2,1,1}\{4,4,4,1,0,5,1,0,5,2,1,1\}
去重后有:{0,1,2,4,5}\{0,1,2,4,5 \},结果为 44