GSS3 - Can you answer these queries III


You are given a sequence A of N (N <= 50000) integers between -10000 and 10000. On this sequence you have to apply M (M <= 50000) operations:
modify the i-th element in the sequence or for given x y print max{Ai + Ai+1 + .. + Aj | x<=i<=j<=y }.

Input

The first line of input contains an integer N. The following line contains N integers, representing the sequence A1..AN.
The third line contains an integer M. The next M lines contain the operations in following form:
0 x y: modify Ax into y (|y|<=10000).
1 x y: print max{Ai + Ai+1 + .. + Aj | x<=i<=j<=y }.

Output

For each query, print an integer as the problem required.

Example

Input:
4
1 2 3 4
4
1 1 3
0 3 -3
1 2 4
1 3 3

Output:
6
4
-3

hide comments
[deleted]: 2013-05-11 09:44:26

we have to use segmentation trees data structure in this problem :)

coding_express: 2013-05-08 07:35:47

please give hint how to reduce time

Sachith: 2013-04-18 13:09:47

look at the query case ... understand what the query means ...

luka lomtadze: 2013-03-19 17:19:10

What means "wrong answer #0"??

ginnipkj: 2013-03-11 07:25:11

atlast....

gourav: 2012-12-18 07:01:18

what does it mean ? "wrong #0" ?


Added by:Bin Jin
Date:2007-08-03
Time limit:0.330s
Source limit:5000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: CPP
Resource:own problem