AT_abc299_g [ABC299G] Minimum Permutation
Description
[problemUrl]: https://atcoder.jp/contests/abc299/tasks/abc299_g
$ 1 $ 以上 $ M $ 以下の整数からなる長さ $ N $ の数列 $ A $ があります。ここで、$ 1 $ 以上 $ M $ 以下のどの整数も $ A $ に $ 1 $ 回以上登場します。
$ A $ の長さ $ M $ の(連続とは限らない)部分列であって $ 1,\ \ldots,\ M $ が $ 1 $ 回ずつ登場するもののうち、辞書順最小のものを答えてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
Output Format
求めるべき部分列を $ B_1,\ \ldots,\ B_M $ として、以下の形式で出力せよ。
> $ B_1 $ $ B_2 $ $ \ldots $ $ B_M $
Explanation/Hint
### 制約
- $ 1\ \leq\ M\ \leq\ N\ \leq\ 2\ \times\ 10^5 $
- $ 1\ \leq\ A_i\ \leq\ M $
- $ 1 $ 以上 $ M $ 以下のどの整数も $ A $ に $ 1 $ 回以上登場する。
- 入力中の値はすべて整数である。
### Sample Explanation 1
$ A $ の長さ $ 3 $ の部分列であって $ 1,\ 2,\ 3 $ が $ 1 $ 回ずつ登場するものは $ (2,\ 3,\ 1) $ と $ (2,\ 1,\ 3) $ であり、このうち辞書順で小さいのは $ (2,\ 1,\ 3) $ です。