Submit | All submissions | Best solutions | Back to list |
UNTITLE1 - Untitled Problem II |
You are given a sequence of N integers A1, A2 ... AN. (-10000 <= Ai <= 10000, N <= 50000)
Let Si denote the sum of A1 ... Ai. You need to apply M (M <= 50000) operations:
- 0 x y k: increase all integers from Ax to Ay by k (1 <= x <= y <= N, -10000 <= k <= 10000).
- 1 x y: ask for max{ Si | x <= i <= y }.(1 <= x <= y <= N)
Input
- In the first line there is an integer N.
- The following line contains N integers that represent the sequence.
- The third line contains an integer M denotes the number of operations.
- In the next M lines, each line contains an operation "0 x y k" or "1 x y".
Output
For each "1 x y" operation, print one integer representing its result.
Example
Input: 5 238 -9622 5181 202 -6943 5 1 3 4 0 5 5 4846 1 3 5 0 3 5 -7471 1 3 3 Output: -4001 -4001 -11674
Use signed 64-bit integer :)
Added by: | Qu Jun |
Date: | 2008-08-14 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ERL JS-RHINO NODEJS PERL6 VB.NET |
Resource: | Not an own problem |
hide comments
2010-02-04 09:43:31 [Rampage] Blue.Mary
A little constant optimization is needed. Last edit: 2010-02-04 09:43:49 |
|
2009-09-02 21:09:05 Matt Garman
Are the operations cumulative? Or is the sequence "reset" back to original after ever "1 x y" operation? |
|
2009-08-20 17:22:23 Ivan Katanic
Increase an consecutive interval[x,y]. |
|
2009-06-29 01:41:45 piyifan
what does increase all integers from Ax to Ay by k mean?Incease an consecutive interval[x,y] or increase all integer big than Ax and less than Ay. |