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

你能回答这些问题吗

题目描述

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

  1. 1 x y,查询区间 [x, y][x,\ y] 中的最大连续子段和,即 $\max _{x \leq l \leq r \leq y}\left\{\sum_{i=l}^{r} A[i]\right\}$。
  2. 2 x y,把 A[x]A[x] 改成 yy

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

输入格式

第一行两个整数 NNMM

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

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

输出格式

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

每个答案占一行。

样例

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

数据范围

1N5×1051\le N≤5\times 10^51M1051\le M≤10^51000A[i]1000−1000≤A[i]≤1000

对于第一种指令,1x, yn1\le x,\ y\le n;对于第二种指令,1xn1\le x\le n1000y1000−1000≤y≤1000