编程题
### 问题描述 给定一个数组 $x$,有以下操作: * `1 l r k`,将数组 $x$ 的 $[l,r]$ 区间内所有数替换为 $min(x_i,k)$ * `2 l r k`,将 $[l,r]$ 区间内所有数加上 $k$ * `3 l r`,求 $[l,r]$ 区间内的和 * `4 l r`,求 $[l,r]$ 区间最大值 ### 输入格式 输入的第一行为两个正整数 $n,m$,分别表示数组大小和操作次数。 接下来 $m$ 行,每行三个或四个整数,含义见问题描述。 ### 输出格式 对于操作 $3$ 和 $4$,每个操作输出一行,每行仅包括一个整数,含义见问题描述。 ### 样例输入 ```text 5 5 2 6 8 4 7 1 2 3 6 3 1 3 1 3 5 2 2 3 4 8 4 1 3 ``` ### 样例输出 ```text 14 10 ``` ### 评测数据规模 对于 $30$% 的评测数据,$1\leq n,m \leq 50,0\leq x_i,k \leq 5000$。 对于 $100$% 的评测数据,$1\leq n,m\leq 5\cdot 10^5,1\le l,r\le n,-10^9\leq x_i,k \leq 10^9$。 本题由于读入数据量较大,请使用较快的读入方法。
查看答案
赣ICP备20007335号-2