#G0154. 柜子编号【2026周末欢乐赛T3】
柜子编号【2026周末欢乐赛T3】
题目描述
游乐场的自助寄存处有一整排柜子,柜门上的编号从 开始:,一路排到看不见的尽头——柜子是无限多的。
今天一共来了 位游客,第 位游客的行李上贴着一个编号 。寄存处的规矩很奇怪:行李只能塞进编号和它完全相同的柜子,一个柜子里塞多少件都行,只要编号对得上。
游客们排成一队依次寄存。为了不让后面的人到处乱找空柜,管理员阿柜在每位游客寄存完之后,都要往小黑板上写一个数:此刻还空着的柜子里,编号最小的那一个。要是 号柜还空着就写 ; 号被占了就写 ; 号和 号都被占了就写 ……以此类推。
一天要接待 个时段,时段之间互不影响——每个时段开始时,所有柜子都是空的。请你替阿柜把每个时段小黑板上写下的数列都算出来,别让他把粉笔写秃了。
输入格式
第一行一个正整数 ,表示时段数。
接下来依次给出 个时段,每个时段占两行:
- 第一行一个正整数 ,表示该时段的游客人数;
- 第二行 个非负整数 ,表示每位游客行李上的编号。
输出格式
对每个时段输出一行,共 个整数,第 个整数表示第 位游客寄存完之后小黑板上的数,相邻两个整数用一个空格分隔。
样例 1
1
5
1 2 0 4 3
0 0 3 3 5
样例 2
2
4
0 0 1 3
3
7 1000000000 2
1 1 2 2
0 0 0
样例解释
- 样例 1:只有 个时段,行李编号依次是 。寄存过程中被占用的柜子编号依次为 、、、、,其中编号最小的空柜依次是 。
- 样例 2:第一个时段被占用的柜子编号依次为 、、、,最小空柜依次是 ;第二个时段三位游客的行李编号互不相同, 号柜始终空着,所以三个数都是 。
数据范围与子任务
对于全部测试点:
- ,,单个文件内所有时段的 之和不超过 ;
- ;
- 时间限制 秒,空间限制 MiB。
| 子任务 | 分值 | ||||
|---|---|---|---|---|---|
| 1 | 10 | ||||
| 2 | 15 | ||||
| 3 | |||||
| 4 | 20 | ||||
| 5 | 40 |
计分方式:子任务之间没有依赖关系,每组测试数据通过即得分。
相关
在下列比赛中: