T340542 build
题目背景
一天,Jabb在做摩天楼数独。
题目描述
Jabb要在一条直线上盖楼。最初,每个位置上的楼会有一定的高度。
他可以进行两个操作:
* 将一个区间内所有的楼增加(或减少)一定高度。
* 询问,如果他站在一栋楼的左边,到右边的一栋楼为止,能看见多少栋楼。
形式化描述见输入格式。
输入格式
你需要维护一个非负整数数列 $a_{1 \sim n}$。
第一行两个整数 $N$ 和 $Q$,分别是数列长度和操作个数。
第二行 $N$ 个整数,表示数列的每个数初始的值。
接下来 $Q$ 行,每行按照以下格式之一输入:
* ```1 x y z```,对于 $[x,y]$ 中的每一个整数 $i$,将 $a_i$ 增加 $z$。
* ```2 x y```,询问,对于 $[x,y]$ 中的每一个整数 $i$,$max_{a_x,a_{x+1},...,a_i}$ 共有多少种不同的取值。
输出格式
对于每一个询问,输出一行,表示询问的答案。
说明/提示
## 数据范围
对于所有数据,保证 $1 \leqslant N,Q \leqslant 10^5$,$x,y,z$是整数,$1 \leqslant x \leqslant y \leqslant n$,$|z| \leqslant 10^9$。
保证数列的每一个数在任一时刻都不超过 $10^9$。
| 测试点编号 | $N \leqslant$ | $Q \leqslant$ | 特殊性质 |
| :-: | :-: | :-: | :-: |
|$1$|$10^5$|$10^5$|对于所有 ```2``` 操作,$x = y$|
|$2$|$1000$|$1000$|无|
|$3$|$10^5$|$10^5$|对于所有 ```2``` 操作,$y - x \leqslant 10$|
|$4$|$10^5$|$10^5$|没有 ```1``` 操作|
|$5$|$10^5$|$10^5$|对于所有 ```1``` 操作,$x = y$|
|$6$|$10^5$|$10^5$|对于所有 ```2``` 操作,$x = 1$,$y = n$|
|$7 \sim 20$|$10^5$|$10^5$|无|