五一劳动节快乐!!!!


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表示修改

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