| 题目名称 | 3300. [CSP JX2019PJ]次大值(民间数据) |
|---|---|
| 输入输出 | sub.in/out |
| 难度等级 | ★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 256 MiB |
| 测试数据 | 20 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:6, 提交:30, 通过率:20% | ||||
|
|
100 | 0.404 s | 5.92 MiB | C++ |
|
|
100 | 0.558 s | 3.51 MiB | C++ |
|
|
100 | 0.588 s | 2.18 MiB | C++ |
|
|
100 | 0.624 s | 14.80 MiB | C++ |
|
|
100 | 0.644 s | 13.66 MiB | C++ |
|
|
100 | 0.667 s | 1.08 MiB | C++ |
|
|
95 | 0.560 s | 3.51 MiB | C++ |
|
|
95 | 0.579 s | 3.85 MiB | C++ |
|
|
95 | 0.588 s | 3.53 MiB | C++ |
|
|
95 | 0.622 s | 3.88 MiB | C++ |
| 关于 次大值(民间数据) 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
问问
| ||||
数据提供者 @数声风笛
Alice 有 $n$ 个正整数,数字从 $1 \sim n$ 编号,分别为 $a_1,a_2, \dots , a_n$。
Bob 刚学习取模运算,于是便拿这 $n$ 个数进行练习,他写下了所有$a_i \bmod a_j (1 \le i,j \le n ∧ i \neq j)$的值,其中 $\bmod$ 表示取模运算。
Alice 想知道所有的结果中,严格次大值是多少。将取模后得到的所有值进行去重,即相同的结果数值只保留一个,剩余数中第二大的值就称为严格次大值。
第一行一个正整数 $n$,表示数字个数。 第二行 $n$ 个正整数表示 $a_i$。
仅一行一个整数表示答案。
若取模结果去重后剩余数字不足两个,则输出 $-1$。
4 4 5 5 6
4
4 1 1 1 1
-1
7 12 3 8 5 7 20 15
12
【样例 1 解释】
所有取模的结果为 $\{4,4,4,1,0,5,1,0,5,2,1,1\}$。
去重后有:$\{0,1,2,4,5 \}$,结果为 $4$。
对于 $40\%$ 的数据,$1\le n,a_i \le 100$;
对于 $70\%$ 的数据,$1\le n \le 3000$,$1\le a_i \le 10^5$;
对于 $100\%$ 的数据,$3 \le n \le 2\times 10^5$,$1\le a_i \le 10^9$。
CSP-J 2019 江西省重赛 Task 2.