#AW245. Can you answer on these queries III

Can you answer on these queries III

给定长度为 NN 的数列 AA,以及M M 条指令,每条指令可能是以下两种之一:

  1. 1 x y,查询区间[x,y] [x,y] 中的最大连续子段和,即 $\max\limits_{x \le l \le r \le y} \left\{ \sum_{i=l}^{r} A[i] \right\}$。
  2. 2 x y,把A[x] A[x] 改成 yy

对于每个查询指令,输出一个整数表示答案。

输入格式

第一行两个整数N,M N,M

第二行 NN 个整数 A[i]A[i]

接下来 MM 行每行 3 个整数 k,x,yk=1k,x,y,k=1 表示查询(此时如果x>y x>y,请交换 x,yx,y),k=2k=2 表示修改。

输出格式

对于每个查询指令输出一个整数表示答案。

每个答案占一行。

数据范围

N500000,M100000,N≤500000,M≤100000,
1000A[i]1000−1000≤A[i]≤1000

输入样例:

5 3
1 2 -3 4 5
1 2 3
2 2 -1
1 3 2

输出样例:

2
-1