#Lutece0844. 程序设计竞赛

程序设计竞赛

Migrated from Lutece 844 程序设计竞赛

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

“你动规无力,图论不稳,数据结构松散,贪心迟钝,没一样像样的,就你还想和我同台竞技,做你的美梦!今天这场比赛,就是要让你知道你是多么的无能!!”

不训练,无以为战。有nn项能力是ACM竞赛要求的,训练则能提升,忽略则会荒废。

mm天,你能做到如何。

Input

第一行两个整数nnmm,分别表示有nn项能力要求,共有mm天。

第二行nn个整数,第ii个整数aia_i表示第ii项能力的数值。

接下来mm行,每行开始先读入一个整数sis_i,表明这是一次询问还是一次能力变化。

si=0s_i = 0,表明这是一次询问,然后读入两个整数li,ril_i,r_i,表示询问在[li,ri][l_i,r_i]区间中任选一段连续序列,这段序列中所有能力值之和最大能是多少。

si=1s_i = 1,表明这是一次能力变化,然后读入两个整数xi,wix_i, w_i,表示第xix_i项能力变为了wiw_i

$1 \leq n,m \leq 100000,-10000 \leq a_i \leq 10000,1 \leq l_i \leq r_i \leq n, 1 \leq x_i \leq n,-10000 \leq w_i \leq 10000$

Output

有多少询问就输出多少行,每行输出一个整数,作为对该询问的回答。

Samples

4 4
1 2 3 4
0 1 3
1 3 -3
0 2 4
0 3 3
6
4
-3

Resources

2014 UESTC Training for Data Structures