#abc260d. [abc260_d]Draw Your Cards

[abc260_d]Draw Your Cards

问题描述

给定一副由 NN 张背面朝上的卡牌,每张卡牌上写着从 11NN 的整数。卡牌堆顶第 ii 张卡牌上的整数为 PiP_i

使用这副卡牌,你将进行 NN 次操作,每次操作包括以下步骤:

  • 从卡牌堆顶抽取一张卡牌。设 XX 为卡牌上写的整数。
  • 将抽取的卡牌翻面朝上,放在桌面上已翻面朝上且整数大于等于 XX 的卡牌中最小的一张上。如果桌面上没有这样的卡牌,则将抽取的卡牌翻面朝上放在桌面上,而不放在任何卡牌上。
  • 如果桌面上有一堆包含 KK 张翻面朝上的卡牌,则吃掉这些卡牌。被吃掉的卡牌都会从桌面上消失。

对于每张卡牌,找出它被哪一次操作吃掉。如果这张卡牌在最后没有被吃掉,报告这个事实。

约束条件

  • 输入中的所有值均为整数。
  • 1KN2×1051 \le K \le N \le 2 \times 10^5
  • PP(1,2,,N)(1,2,\dots,N) 的一个排列(即通过重新排列 (1,2,,N)(1,2,\dots,N) 得到的序列)。

输入

输入以以下格式从标准输入给出:

NN KK P1P_1 P2P_2 \dots PNP_N

输出

输出 NN 行。
ii 行 (1iN1 \le i \le N) 描述了整数为 ii 的卡牌。具体地说,

  • 如果写有整数 ii 的卡牌在第 xx 步操作中被吃掉,打印 xx
  • 如果该卡牌在任何操作中都没有被吃掉,打印 1-1

示例输入 1

5 2
3 5 2 1 4

示例输出 1

4
3
3
-1
4

在这个输入中,P=(3,5,2,1,4)P=(3,5,2,1,4)K=2K=2

  • 在第 11 步操作中,数为 33 的卡牌翻面朝上放在桌面上,而不放在任何卡牌上。
  • 在第 22 步操作中,数为 55 的卡牌翻面朝上放在桌面上,而不放在任何卡牌上。
  • 在第 33 步操作中,数为 22 的卡牌翻面朝上放在数为 33 的卡牌上。
    • 现在桌面上有一堆包含 K=2K=2 张翻面朝上的卡牌,其中从顶部开始依次写着 2233,因此这些卡牌被吃掉。
  • 在第 44 步操作中,数为 11 的卡牌翻面朝上放在数为 55 的卡牌上。
    • 现在桌面上有一堆包含 K=2K=2 张翻面朝上的卡牌,其中从顶部开始依次写着 1155,因此这些卡牌被吃掉。
  • 在第 55 步操作中,数为 44 的卡牌翻面朝上放在桌面上,而不放在任何卡牌上。
  • 数为 44 的卡牌到最后都没有被吃掉。

示例输入 2

5 1
1 2 3 4 5

示例输出 2

1
2
3
4
5

如果 K=1K=1,那么每张卡牌在放在桌面上之后都会立即被吃掉。


示例输入 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