P15776 [JAG 2025 Summer Camp #2] All Copy Paste
题目描述
你有一个长度为 $N$ 的序列 $A = (A_1, A_2, \ldots, A_N)$,初始时对于所有 $i$($1 \leq i \leq N$)有 $A_i = i$。现在有 $Q$ 次查询。在第 $q$ 次查询中,会给出一个整数 $x_q$($1 \leq x_q \leq |A|$),你需要将 $A$ 替换为
$$
(A_1, A_2, \ldots, A_{x_q}, A_1, A_2, \ldots, A_{|A|}, A_{x_q + 1}, A_{x_q + 2}, \ldots, A_{|A|}),
$$
其中 $|A|$ 表示 $A$ 的当前长度。换句话说,你在序列 $A$ 的前 $x_q$ 个元素之后,插入整个序列 $A$ 的一个副本。
按顺序处理完所有 $Q$ 次查询后,输出最终序列 $A$ 的前 $M$ 个元素。
输入格式
输入按以下格式给出。
$$
\begin{aligned}
& N \ M \ Q \\
& x_1 \\
& x_2 \\
& \vdots \\
& x_Q
\end{aligned}
$$
第一行包含三个整数 $N$、$M$ 和 $Q$($1 \leq N \leq 10^6$,$1 \leq M \leq \min(10^6, N \times 2^Q)$,$1 \leq Q \leq 10^6$)。接下来的 $Q$ 行,每行包含一个整数 $x_q$($1 \leq x_q \leq \min(10^{12}, N \times 2^{q-1})$),表示第 $q$ 次查询的参数。
输出格式
在一行中输出 $M$ 个整数 $A_1, A_2, \ldots, A_M$,即应用所有查询后最终序列的前 $M$ 个元素,以空格分隔。
说明/提示
翻译由 DeepSeek V3.2 完成