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

内存限制:128 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: xiongyingjie

题目描述

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

1、1 x y,查询区间 [x,y] 中的最大连续子段和,即 \max\limits_{x \le l \le r \le y} { \sum\limits^r_{i=l} A[i] }。

2、2 x y,把 A[x] 改成 y

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

输入格式

第一行两个整数 N,M

第二行 N 个整数 A[i]

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

输出格式

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

每个答案占一行。

样例

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

2
-1

数据范围与提示

N \le 500000, M \le 100000 , -1000 \le A[i] \le 1000