问题 CI: 你能回答这些问题吗

内存限制:128 MB 时间限制:2 S
题面:传统 评测方式:文本比较 上传者:
提交:49 通过:32

题目描述

给定长度为 N 的数列 A,以及 M 条指令,每条指令可能是以下两种之一:
  1. 1 x y,查询区间 [x,y] 中的最大连续子段和,即 maxx≤l≤r≤ymax{∑i=lrA[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 表示修改。

输出格式

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

数据范围

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

输入样例:

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

输出样例:

2 -1

输入样例 复制

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

输出样例 复制

2
-1