#611. 你能回答这些问题吗

你能回答这些问题吗

题目描述

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

11 xx yy:查询区间 [x,y][x,y] 中的最大连续子段和

22 xx yy:把 A[x]A[x] 改成 yy

输入描述

第一行两个整数 NN,MM

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

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

N500000,M100000N≤500000,M≤100000,

1000A[i]1000−1000≤A[i]≤1000

输出描述

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

每个答案占一行。

样例

样例输入#1

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

样例输出#1

2
-1

样例输入#2

5 5
847 479 469 117 334 
1 2 5
2 5 -936
2 3 -427
1 2 4
2 2 686

样例输出#2

1399
479