2789: 4301 Can you answer on these queries III
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:admin
Submit:0
Solved:0
Description
给定长度为N的数列A,以及M条指令 (N≤500000, M≤100000),每条指令可能是以下两种之一:
“2 x y”,把 A[x] 改成 y。
“1 x y”,查询区间 [x,y] 中的最大连续子段和,即 max(x≤l≤r≤y) { ∑(i=l~r) A[i] }。
对于每个询问,输出一个整数表示答案。
接下来M行每行3个整数k,x,y,k=1表示查询(此时如果x>y,请交换x,y),k=2表示修改
“2 x y”,把 A[x] 改成 y。
“1 x y”,查询区间 [x,y] 中的最大连续子段和,即 max(x≤l≤r≤y) { ∑(i=l~r) A[i] }。
对于每个询问,输出一个整数表示答案。
接下来M行每行3个整数k,x,y,k=1表示查询(此时如果x>y,请交换x,y),k=2表示修改
Input
第一行两个整数N,M
第二行N个整数Ai
Output
对于每个询问输出一个整数表示答案。
Sample Input Copy
5 3
1 2 -3 4 5
1 2 3
2 2 -1
1 3 2
Sample Output Copy
2
-1
HINT
- 对于100%的数据: N≤500000, M≤100000, |Ai|<=1000