AT_joig2026final_i チーズとネズミ (Cheeses and Mice)

题目描述

有一个老鼠居住的鼠洞,鼠洞前面有 $N$ 块奶酪排成一列。从队首开始,第 $i$ 个位置上的奶酪**大小**为 $i$。 鼠洞里住着 $M$ 只老鼠,编号从 $1$ 到 $M$。老鼠 $j$($1 \leq j \leq M$)喜欢大小不少于 $A_j$ 的奶酪。这里,$A_1 < A_2 < \cdots < A_M$。 接下来的 $N$ 天里,老鼠们每天会进行如下步骤: 1. 按顺序 $j = 1, 2, \dots, M$,依次进行以下操作: - 如果当前队列中存在老鼠 $j$ 喜欢的奶酪,则选择最靠近队首的那一块,与队首奶酪交换位置。若所选奶酪本就在队首,或没有喜欢的奶酪,则不做任何操作。 2. 将队首的奶酪移除,带入鼠洞。 给定奶酪和老鼠的数量,以及老鼠对奶酪大小的喜好信息,请编写程序,求出 $N$ 天里每天被带入鼠洞的奶酪大小。

输入格式

输入按如下格式从标准输入中给出: > $N$ $M$ $A_1$ $A_2$ $\cdots$ $A_M$

输出格式

请按标准输出输出 $N$ 行。 第 $k$ 行($1 \leq k \leq N$)输出第 $k$ 天被带入鼠洞的奶酪大小。

说明/提示

## 子任务 1. ($11$ 分) $N \leq 300$。 2. ($16$ 分) $N \leq 5\,000$。 3. ($35$ 分) $M = 1$。 4. ($38$ 分) 无额外约束。 --- ## 样例解释 1 下文中,奶酪队列内容表示为从队首到队尾的大小序列。初始时,队列为 $(1,2,3,4,5)$。$5$ 天内老鼠们的动作如下: - 老鼠 $1$ 选择大小为 $3$ 的奶酪,队列变为 $(3,2,1,4,5)$。老鼠 $2$ 选择大小为 $4$ 的奶酪,队列变为 $(4,2,1,3,5)$。最后大小为 $4$ 的奶酪被移除,队列变为 $(2,1,3,5)$。 - 老鼠 $1$ 选择大小为 $3$ 的奶酪,队列变为 $(3,1,2,5)$。老鼠 $2$ 选择大小为 $5$ 的奶酪,队列变为 $(5,1,2,3)$。最后大小为 $5$ 的奶酪被移除,队列变为 $(1,2,3)$。 - 老鼠 $1$ 选择大小为 $3$ 的奶酪,队列变为 $(3,2,1)$。老鼠 $2$ 不进行操作。最后大小为 $3$ 的奶酪被移除,队列变为 $(2,1)$。 - 两只老鼠均不进行操作。大小为 $2$ 的奶酪被移除,队列变为 $(1)$。 - 两只老鼠均不进行操作。大小为 $1$ 的奶酪被移除,队列清空。 此输入样例符合子任务 $1,2,4$ 的限制。 --- ## 样例解释 2 此输入样例符合所有子任务的限制。 ## 约束条件 - $1 \leq M \leq N \leq 300\,000$。 - $1 \leq A_j \leq N$($1 \leq j \leq M$)。 - $A_1 < A_2 < \cdots < A_M$。 - 输入的所有值均为整数。 由 ChatGPT 5 翻译