#P498. 线段树(easy)
线段树(easy)
考虑包含了个元素的序列。我们希望你实现一个数据结构,支持如下的两个操作:
- 给定区间,你需要把该区间内每个元素都加上。
- 求给定区间的最大值。
输入格式
第一行是两个整数,和,表示序列长度,表示操作个数。
第二行是个数,表示序列的初始值。
之后行,每行表示一个操作。在一个操作中,第一个数字表示操作类型,为或,意义见上。之后两个数字表示区间和。如果操作类型为,则后面还有第三个数字表示。
范围保证,每个,每个操作中,并且。
输出格式
对于每个类型的操作,输出其查询结果并换行。
样例输入
10 5
1084 7673 13201 31375 15797 23954 27905 12498 4468 9210
1 4 10 24291
2 1 10
1 6 7 19422
2 1 10
2 4 8
样例输出
55666
71618
71618
注意因为评测机太慢本题时间限制6s
相关
在下列比赛中: