atcoder#ABC299G. [ABC299G] Minimum Permutation

[ABC299G] Minimum Permutation

配点 : 600600

問題文

11 以上 MM 以下の整数からなる長さ NN の数列 AA があります。ここで、11 以上 MM 以下のどの整数も AA11 回以上登場します。

AA の長さ MM の(連続とは限らない)部分列であって 1,,M1, \ldots, M11 回ずつ登場するもののうち、辞書順最小のものを答えてください。

制約

  • 1MN2×1051 \leq M \leq N \leq 2 \times 10^5
  • 1AiM1 \leq A_i \leq M
  • 11 以上 MM 以下のどの整数も AA11 回以上登場する。
  • 入力中の値はすべて整数である。

入力

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

NN MM

A1A_1 A2A_2 \ldots ANA_N

出力

求めるべき部分列を B1,,BMB_1, \ldots, B_M として、以下の形式で出力せよ。

B1B_1 B2B_2 \ldots BMB_M

4 3
2 3 1 3
2 1 3

AA の長さ 33 の部分列であって 1,2,31, 2, 311 回ずつ登場するものは (2,3,1)(2, 3, 1)(2,1,3)(2, 1, 3) であり、このうち辞書順で小さいのは (2,1,3)(2, 1, 3) です。

4 4
2 3 1 4
2 3 1 4
20 10
6 3 8 5 8 10 9 3 6 1 8 3 3 7 4 7 2 7 8 5
3 5 8 10 9 6 1 4 2 7