AT_abc299_g [ABC299G] Minimum Permutation

题目描述

有一个长度为 $N$ 的数列 $A$,其中每个元素都是 $1$ 到 $M$ 之间的整数。并且,$1$ 到 $M$ 之间的每个整数在 $A$ 中至少出现一次。 请你在 $A$ 的所有长度为 $M$ 的(不一定连续的)子序列中,找出恰好包含 $1,\ 2,\ \ldots,\ M$ 各出现一次的子序列,并输出其中字典序最小的一个。

输入格式

输入以以下格式从标准输入读入。 > $N$ $M$ $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

请将所求的子序列记为 $B_1,\ B_2,\ \ldots,\ B_M$,按以下格式输出。 > $B_1$ $B_2$ $\ldots$ $B_M$

说明/提示

## 限制条件 - $1 \leq M \leq N \leq 2 \times 10^5$ - $1 \leq A_i \leq M$ - $1$ 到 $M$ 之间的每个整数在 $A$ 中至少出现一次。 - 输入中的所有数值均为整数。 ## 样例解释 1 $A$ 的所有长度为 $3$ 的子序列中,恰好包含 $1,\ 2,\ 3$ 各出现一次的有 $(2,\ 3,\ 1)$ 和 $(2,\ 1,\ 3)$,其中字典序最小的是 $(2,\ 1,\ 3)$。 由 ChatGPT 4.1 翻译