编程题
### 问题描述 给定一个长度为 $n$ 数组 $a$,进行以下操作 $m$ 次: * `1 x` 在数组末端添加一个数 $x$。 * `2 k` 按从后向前的顺序输出数组末端的 $k$ 个数,$k$ 不会超过数组当前长度,并移除它们。 * `3 k x` 将数组末端的 $k$ 个数替换为 $max(x,a_i)$ ### 输入格式 输入第一行为两个整数 $n,m$,表示数组大小和操作次数。 接下来一行,为 $n$ 个整数,表示数组 $a$。 再接下来 $m$ 行,每行两到三个整数,含义见问题描述。 ### 输出格式 输入若干行,每行b为每次操作 $2$ 弹出的 $k$ 个元素。 ### 样例输入 ```text 5 4 1 2 3 2 1 1 2 3 4 2 2 4 2 2 ``` ### 样例输出 ```text 2 2 2 3 2 1 ``` ### 评测数据规模 对于 $50$% 的评测数据,$1\leq n,m \leq 50$。 对于 $100$% 的评测数据,$1\leq n,m,k \leq 10^5,-10^9\leq a_i,x \leq 10^9$。
查看答案
赣ICP备20007335号-2