A6588 | 「ZJOI2022」众数
时间限制3s
内存限制1024MB
通过 / 提交0/0
题目描述
九条可怜是一个有超能力的女孩子,但她的超能力只能作用于一些奇怪的事情上。
有一天,可怜得到了一个序列 $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$,你需要输出最终序列的众数出现次数的最大值,并输出这个众数的所有可能取值。注意对于一个序列,众数的取值可能不止一个。
有一天,可怜得到了一个序列 $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$。
对于接下来的每组数据,第一行输入序列长度 $n$,第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$。
输出格式
对于每组数据,第一行输出最终序列众数的出现次数的最大值。
假设这个众数有 $k$ 种不同的可能取值,则接下来 $k$ 行,从小到大输出这些取值。
假设这个众数有 $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$ | 无 |
每个测试点的具体限制见下表:
| 测试点编号 | $\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$ | 无 |
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?