#AT2240. D - Draw Your Cards

D - Draw Your Cards

当前没有测试数据。

D - 挑牌

得分:400分

问题描述

一副由$N$张面朝下的牌组成的牌堆,上面写着$1$到$N$的整数。第$i$张牌上的整数是$P_i$。

使用这副牌,你将进行$N$次操作,每次操作由以下步骤组成:

  • 从牌堆中抽取最上面的一张牌。将上面的整数记为$X$。
  • 将抽取到的牌,面朝上,叠到桌上已经面朝上,上面的整数不小于$X$的牌上。如果桌上没有这样的牌,将抽取到的牌直接放到桌上,面朝上,不叠到任何牌上。
  • 然后,如果桌上存在一叠有$K$张面朝上的牌,把这些牌都吃掉。被吃掉的牌都会从桌上消失。

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

约束条件

  • 所有输入的值都是整数。
  • $1 \le K \le N \le 2 \times 10^5$
  • $P$是$(1,2,\dots,N)$的一个排列(即由$(1,2,\dots,N)$重新排列而得的一个序列)。

输入

输入通过标准输入给出,具体格式如下:

NN KK

P1P_1 P2P_2 \dots PNP_N

输出

输出共$N$行。
第$i$行($1 \le i \le N$)应描述整数$i$所在的牌。具体要求为:

  • 如果整数为$i$的牌是在第$x$次操作中被吃掉的,输出$x$;
  • 如果该牌在任何一次操作中都未被吃掉,输出$-1$。

5 2
3 5 2 1 4
4
3
3
-1
4

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

  • 在第$1$次操作中,数字为$3$的牌直接放到桌上,面朝上,不叠到任何牌上。
  • 在第$2$次操作中,数字为$5$的牌直接放到桌上,面朝上,不叠到任何牌上。
  • 在第$3$次操作中,数字为$2$的牌放在数字为$3$的牌上面,面朝上。
    • 现在,桌上有一叠有$K=2$张面朝上的牌,上面的数字分别为$2$和$3$,这两张牌都被吃掉。
  • 在第$4$次操作中,数字为$1$的牌放在数字为$5$的牌上面,面朝上。
    • 现在,桌上有一叠有$K=2$张面朝上的牌,上面的数字分别为$1$和$5$,这两张牌都被吃掉。
  • 在第$5$次操作中,数字为$4$的牌直接放到桌上,面朝上,不叠到任何牌上。
  • 数字为$4$的牌直到最后也未被吃掉。

5 1
1 2 3 4 5
1
2
3
4
5

如果$K=1$,每张牌都在放到桌上的时候立即被吃掉。


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