#ABC260D. 叠牌游戏
叠牌游戏
叠牌游戏
题目描述
有一叠 张背面朝上的卡片,上面分别写着 到 的整数。从上数第 张卡片上的整数为 。
使用这叠卡片,你将进行 轮操作,每轮由以下步骤组成:
- 从牌堆顶部抽出一张卡片。设其上的整数为 。
- 将抽出的卡片正面朝上,叠放到桌面上所有「顶端卡片写着大于等于 的整数」的牌堆中,顶端整数最小的那一堆上。如果桌面上没有这样的牌堆,则把抽出的卡片正面朝上直接放在桌面上,不叠放到任何牌堆上。
- 然后,如果桌面上存在由 张正面朝上的卡片组成的牌堆,则吃掉该牌堆中的所有卡片。被吃掉的卡片全部从桌面上消失。
对每张卡片,求它是在第几轮被吃掉的。如果该卡片直到结束都未被吃掉,则输出 -1 以报告这一事实。
输入格式
输入按以下格式从标准输入给出:
N K
P_1 P_2 … P_N
输出格式
输出 行。
第 行()描述写着整数 的卡片。具体来说:
- 如果写着 的卡片在第 轮被吃掉,输出 ;
- 如果该卡片在任何一轮都没有被吃掉,输出 。
样例
5 2
3 5 2 1 4
4
3
3
-1
4
在本输入中,,。
第 轮,写着 的卡片被正面朝上放在桌面上,没有叠放到任何牌堆上。
第 轮,写着 的卡片被正面朝上放在桌面上,没有叠放到任何牌堆上。
第 轮,写着 的卡片被正面朝上叠放到写着 的卡片上。
此时,桌面上出现了由 张正面朝上的卡片组成的牌堆,从上到下写着 、,因此这些卡片被吃掉。
第 轮,写着 的卡片被正面朝上叠放到写着 的卡片上。
此时,桌面上出现了由 张正面朝上的卡片组成的牌堆,从上到下写着 、,因此这些卡片被吃掉。
第 轮,写着 的卡片被正面朝上放在桌面上,没有叠放到任何牌堆上。
写着 的卡片直到结束都没有被吃掉。
5 1
1 2 3 4 5
1
2
3
4
5
如果 ,每张卡片在放到桌面上后的一轮内就会被立即吃掉。
15 3
3 14 15 9 2 6 5 13 1 7 10 11 8 12 4
9
9
9
15
15
6
-1
-1
6
-1
-1
-1
-1
6
15
数据范围
- 输入中的所有值均为整数。
- 是 的一个排列(即将 重新排列得到的序列)。
难度
普及+/提高-
通过率
—
尝试
0
已通过
0
- ID
- 2792
- 类型
- 传统题
- Time Limit
- 2000ms
- Memory Limit
- 1024MiB
- 上传者