[NICA #1] 序列

题目描述

小 A 有一个长度为 $n$ 的序列 $a_1,a_2,\dots a_n$。他希望支持两种操作: - `1 k`,给序列中的每一个元素加上一个整数 $k$; - `2`,查询序列中的最大子序列和。 子序列指的是从原序列中去除某些元素(也可以不去除),但不破坏余下元素的相对位置形成的新的序列。例如,对于序列 $\{2,3,4,5,6\}$,那么 $\{2,3,4\},\{2,4,6\}$ 都是它的子序列,而 $\{6,5,4\}$ 不是。子序列可以为空,此时子序列和为 $0$。

输入输出格式

输入格式


第一行输入两个正整数 $n,m$,分别表示序列的长度和操作次数。 第二行输入 $n$ 个正整数 $a_i$,表示序列的元素。 第三行开始,往下 $m$ 行,每一行分别为 `1 k` 或者 `2` 的形式,含义如题意所述。

输出格式


对于每个 $2$ 操作,输出一行一个整数表示答案。

输入输出样例

输入样例 #1

5 5
-5 12 -7 2 8
2
1 3
2
1 4
2

输出样例 #1

22
31
45

说明

**【样例解释】** - 第一次操作求序列中的最大子序列和,则为 $12+2+8=22$; - 第二次操作让序列中每一个元素加上了 $3$。此时序列变为 $-2,15,-4,5,11$; - 第三次操作求序列中的最大子序列和,则为 $15+5+11=31$; - 第四次操作让序列中每一个元素加上了 $4$。此时序列变为 $2,19,0,9,15$; - 第五次操作求序列中的最大子序列和,则为 $2+19+9+15=45$。 数据保证,$1 \leq n,m \leq 5\times 10^5$,$-5\times 10^5 \leq a_i,k \leq 5\times 10^5$,操作仅为 $1$ 或 $2$ 操作。