珂朵莉的序列
题号:NC14594
时间限制:C/C++/Rust/Pascal 5秒,其他语言10秒
空间限制:C/C++/Rust/Pascal 800 M,其他语言1600 M
64bit IO Format: %lld

题目描述

给你一个长为n的序列,有m个操作,全局加,或者查询区间最大子段和。

输入描述:

第一行两个数n,m
之后一行n个数表示这个序列
之后m行,每行一个操作
1 x : 所有数都加上x
2 l r : 查询区间[l,r]内的最大子段和(可以不选数)

输出描述:

对于每个2种类操作,输出一行一个数表示答案
示例1

输入

复制
5 7
-10 -3 -2 -4 -5
2 2 4
1 5
2 2 4
1 3
2 1 5
1 2
2 3 5

输出

复制
0
6
18
19

备注:

1 <= n <= 300000
1 <= m <= 600000
序列中的数绝对值<= 2000000000
1操作中的x的绝对值<= 50000000