RANGESUM  Range Sum
Problem Statement
You are initially given an array of N integers ( 1<=N<=10^{5} ). Given this array, you have to perform 2 kinds of operations :
(i) Operation 1 : Op1( l, r )
You are given 2 integers l and r. ( 1 <= l <= r <= current size of the array ). You need to return the sum of all the elements with indices between l and r ( both inclusive ). That is, if the elements currently in the array are a_{1}, a_{2}, a_{3}.... a_{n}, you need to return the following sum : a_{l} + a_{l+1} + a_{l+2} ... + a_{r}.
(ii) Operation 2 : Op2( x )
You are given a single integer x ( x <= 10^{9} ). Add this element to the beginning of the array. After this operation, x will now become a_{1}, the old a_{1} will now become a_{2}, and so on. The size of the array will increase by 1.
Input
The first line contains a single integer N ( 1 <= N <= 10^{5} ), the number of elements initially in the array.
This is followed by a line containing N space separated integers, a_{1} a_{2} .... a_{N}. ( a_{i} <= 10^{9} )
The next line contains a single integer Q, the number of operations you will be asked to perform. ( 1 <= Q <= 10^{5} )
Q lines of input follow. Each such line starts with either the number 1 or the number 2. This indicates the type of operation that you are required to perform. The format of these queries are as follows :
1 l r : Carry out operation 1 with arguments l and r. ( 1 <= l <= r <= current size of the array )
That is, return the sum of the following array elements : a_{l} + a_{l+1} ... + a_{r}
2 x : Carry out operation 2 with the argument x. ( x <= 10^{9} )
That is, add the value x at the beginning of the array.
Output
For each query of type 1, output the return value on a new line. No output needs to be printed for queries of type 2.
Example
Input #1: 10
1 2 3 4 5 6 7 8 9 10
4
1 1 10
1 1 1
1 10 10
1 2 7
Output #1:
55
1
10
27
Input #2:
5
6 7 8 9 10
9
2 5
2 4
1 2 7
2 3
2 2
2 1
1 1 10
1 1 1
1 10 10
Output #2:
45
55
1
10
hide comments
maniAC:
20140819 11:02:56
Use long long !. 

nikhil_nihal:
20140720 00:42:28
getting WA in 5th running...


RIVU DAS:
20140317 04:59:47
Learnt a lot!! 

ping_of_death:
20140220 22:00:44
Nice problem ....a lot to learn in arrey implementation ... 

Shaka Shadows:
20130731 20:17:31
There is a more general version of this problem on SPOJ. See http://www.spoj.com/problems/GSS6. Last edit: 20130731 20:52:15 

BLANKRK:
20130709 08:09:16
AC..gud one... :D 

vishal chaudhary:
20130627 15:52:38
AC.:)


shiv prasad chabarval:
20130622 10:15:59
@Gowri Sundarami: please check my code and tell me where it fails id:9528540 

napster:
20130622 06:21:35
@Gowri Sundarami: don't know why i'm getting WA.......please help me.My submission id is 9478119 

shiva_hellgeek:
20130615 10:25:24
finally got this one, so many conditions...

Added by:  Gowri Sundaram 
Date:  20130411 
Time limit:  2s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ASM64 