#abc260d. [abc260_d]Draw Your Cards
[abc260_d]Draw Your Cards
问题描述
给定一副由 张背面朝上的卡牌,每张卡牌上写着从 到 的整数。卡牌堆顶第 张卡牌上的整数为 。
使用这副卡牌,你将进行 次操作,每次操作包括以下步骤:
- 从卡牌堆顶抽取一张卡牌。设 为卡牌上写的整数。
- 将抽取的卡牌翻面朝上,放在桌面上已翻面朝上且整数大于等于 的卡牌中最小的一张上。如果桌面上没有这样的卡牌,则将抽取的卡牌翻面朝上放在桌面上,而不放在任何卡牌上。
- 如果桌面上有一堆包含 张翻面朝上的卡牌,则吃掉这些卡牌。被吃掉的卡牌都会从桌面上消失。
对于每张卡牌,找出它被哪一次操作吃掉。如果这张卡牌在最后没有被吃掉,报告这个事实。
约束条件
- 输入中的所有值均为整数。
- 是 的一个排列(即通过重新排列 得到的序列)。
输入
输入以以下格式从标准输入给出:
输出
输出 行。
第 行 () 描述了整数为 的卡牌。具体地说,
- 如果写有整数 的卡牌在第 步操作中被吃掉,打印 ;
- 如果该卡牌在任何操作中都没有被吃掉,打印 。
示例输入 1
5 2
3 5 2 1 4
示例输出 1
4
3
3
-1
4
在这个输入中,,。
- 在第 步操作中,数为 的卡牌翻面朝上放在桌面上,而不放在任何卡牌上。
- 在第 步操作中,数为 的卡牌翻面朝上放在桌面上,而不放在任何卡牌上。
- 在第 步操作中,数为 的卡牌翻面朝上放在数为 的卡牌上。
- 现在桌面上有一堆包含 张翻面朝上的卡牌,其中从顶部开始依次写着 和 ,因此这些卡牌被吃掉。
- 在第 步操作中,数为 的卡牌翻面朝上放在数为 的卡牌上。
- 现在桌面上有一堆包含 张翻面朝上的卡牌,其中从顶部开始依次写着 和 ,因此这些卡牌被吃掉。
- 在第 步操作中,数为 的卡牌翻面朝上放在桌面上,而不放在任何卡牌上。
- 数为 的卡牌到最后都没有被吃掉。
示例输入 2
5 1
1 2 3 4 5
示例输出 2
1
2
3
4
5
如果 ,那么每张卡牌在放在桌面上之后都会立即被吃掉。
示例输入 3
15 3
3 14 15 9 2 6 5 13 1 7 10 11 8 12 4
示例输出 3
9
9
9
15
15
6
-1
-1
6
-1
-1
-1
-1
6
15