#555. 火车购票

火车购票

问题描述

请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。

假设一节车厢有 2020 排、每一排 55 个座位。

为方便起见,我们用 11 到 100100 来给所有的座位编号,第一排是 11 到 55 号,第二排是 66 到 1010 号,依次类推,第 2020 排是 9696 到 100100 号。

购票时,一个人可能购一张或多张票,最多不超过 55 张。

如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。

否则应该安排在编号最小的几个空座位中(不考虑是否相邻)。

假设初始时车票全部未被购买,现在给了一些购票指令,请你处理这些指令。

输入格式

输入的第一行包含一个整数 nn,表示购票指令的数量。

第二行包含 nn 个整数,每个整数 pp 在 11 到 55 之间,表示要购入的票数,相邻的两个数之间使用一个空格分隔。

  • 对于所有评测用例,1≤n≤1001 \leq n \leq 100。
  • 所有购票数量之和不超过 100100。

输出格式

输出 nn 行,每行对应一条指令的处理结果。

对于购票指令 pp,输出 pp 张车票的编号,按从小到大排序。

样例输入

4
2 5 4 2

样例输出

1 2
6 7 8 9 10
11 12 13 14
3 4

样例解释

  • 购 22 张票,得到座位 1,21,2。
  • 购 55 张票,得到座位 66 至 1010。
  • 购 44 张票,得到座位 1111 至 1414。
  • 购 22 张票,得到座位 3,43,4。