#abc260d. [abc260_d]Draw Your Cards

[abc260_d]Draw Your Cards

問題文

11 から NN が書かれた NN 枚のカードが裏向きで積まれた山札があり、上から ii 枚目のカードには整数 PiP_i が書かれています。

この山札を使って、以下の行動を NN ターン繰り返します。

  • 山札の一番上のカードを引いて、そこに書かれた整数を XX とする。
  • 場に見えている表向きのカードであって書かれた整数が XX 以上であるもののうち、書かれた整数が最小のものの上に、引いたカードを表向きで重ねる。もし場にそのようなカードがなければ、引いたカードをどれにも重ねずに表向きで場に置く。
  • その後、表向きのカードが KK 枚重ねられた山が場にあればその山のカードを全て食べる。食べられたカードは全て場から消滅する。

各カードについて、何ターン目に食べられるか、あるいは最後まで食べられないかを求めてください。

制約

  • 入力は全て整数
  • 1leKleNle2times1051 \\le K \\le N \\le 2 \\times 10^5
  • PP(1,2,dots,N)(1,2,\\dots,N) の順列 ( (1,2,dots,N)(1,2,\\dots,N) を並べ替えて得られる列 ) である

入力

入力は以下の形式で標準入力から与えられる。

NN KK P1P_1 P2P_2 dots\\dots PNP_N

出力

NN 行出力せよ。
そのうち ii (1leileN1 \\le i \\le N) 行目には、整数 ii が書かれたカードについて、以下のように出力せよ。

  • もし ii が書かれたカードが食べられるなら、それが何ターン目であるかを整数として出力せよ。
  • そうでないなら \-1\-1 と出力せよ。

入力例 1

5 2
3 5 2 1 4

出力例 1

4
3
3
-1
4

この入力では、 P=(3,5,2,1,4),K=2P=(3,5,2,1,4),K=2 です。

  • 11 ターン目に、 33 が書かれたカードが他のカードに重ねられずに表向きで場に置かれます。
  • 22 ターン目に、 55 が書かれたカードが他のカードに重ねられずに表向きで場に置かれます。
  • 33 ターン目に、 22 が書かれたカードが 33 が書かれたカードの上に表向きで重ねられます。
    • この時点で上から 2,32,3 が書かれたカードが表向きで重ねられた山が K=2K=2 枚に達したので、両カードは食べられます。
  • 44 ターン目に、 11 が書かれたカードが 55 が書かれたカードの上に表向きで重ねられます。
    • この時点で上から 1,51,5 が書かれたカードが表向きで重ねられた山が K=2K=2 枚に達したので、両カードは食べられます。
  • 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