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 ith 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
harsh:
20140115 14:24:50
0.21 sec..\m/.. 

The Wizard:
20130917 01:32:20
I think in this problem using segment tree is so useful 

nishchay:
20130901 06:09:57
AC :D


!!.Nginx.!!:
20130516 13:42:07
how query: 1 2 4 giving output=4 shouldn't it be 3 (2+(3)+4) 

Alexander Maryanovsky:
20130511 12:39:00
Please increase the source limit. Some languages are more verbose than others and it's ridiculous that I have to give all my variables a 1character name just to fit a neatlooking implementation into 5k. 

:
20130511 09:44:26
we have to use segmentation trees data structure in this problem :)


coding_express:
20130508 07:35:47
please give hint how to reduce time 

Sachith:
20130418 13:09:47
look at the query case ... understand what the query means ...


luka lomtadze:
20130319 17:19:10
What means "wrong answer #0"?? 

ginnipkj:
20130311 07:25:11
atlast.... 
Added by:  Bin Jin 
Date:  20070803 
Time limit:  0.330s 
Source limit:  5000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: CPP 
Resource:  own problem 