测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6588. 「ZJOI2022」众数

编程题 NOI/NOI+/CTSC
知识点

题目描述

九条可怜是一个有超能力的女孩子,但她的超能力只能作用于一些奇怪的事情上。

有一天,可怜得到了一个序列 $a_1, a_2, \ldots, a_n$,她可以对这个序列使用一次超能力: 选择一个区间 $[l, r]$($1 \le l \le r \le n$)和一个整数 $k \in [-{10}^9, {10}^9]$,将区间内的所有数 $a_l, a_{l + 1}, \ldots, a_r$ 加上 $k$。

九条可怜很喜欢长得比较一致的序列,因此她希望最终的序列众数的出现次数尽可能多。给出序列 $a$,你需要输出最终序列的众数出现次数的最大值,并输出这个众数的所有可能取值。注意对于一个序列,众数的取值可能不止一个。

输入格式

输入包含多组数据,第一行输入数据组数 $T$。

对于接下来的每组数据,第一行输入序列长度 $n$,第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$。

输出格式

对于每组数据,第一行输出最终序列众数的出现次数的最大值。

假设这个众数有 $k$ 种不同的可能取值,则接下来 $k$ 行,从小到大输出这些取值。

输入输出样例

输入 #1
4
5
1 2 3 2 1
5
1 1 3 1 1
6
2 4 2 4 8 8
5
1 2 3 4 5
输出 #1
4
1
5
1
4
2
4
8
2
1
2
3
4
5

说明/提示

对于所有测试点:$1 \le T \le 20$,$2 \le n \le 2 \times {10}^5$,$1 \le a_i \le {10}^9$,保证 $\sum n \le 5 \times {10}^5$,且 $a_i$ 不全相等。

每个测试点的具体限制见下表:

| 测试点编号 | $\sum n \le$ | $n \le$ | 特殊限制 |
|:-:|:-:|:-:|:-:|
| $1 \sim 4$ | $3000$ | $300$ | 无 |
| $5 \sim 8$ | $5 \times {10}^5$ | $2 \times {10}^5$ | $a_i$ 只有 $5$ 种取值 |
| $9 \sim 10$ | $2 \times {10}^5$ | $50000$ | 无 |
| $11 \sim 20$ | $5 \times {10}^5$ | $2 \times {10}^5$ | 无 |
上一题 去做题 下一题