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 翻译