페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#8082

구간의 합 2 3초 512MB

문제

1차원 배열에 N개의 수들이 담겨있다.

 

이 배열에 대하여 다음 두 가지 명령을 실행하는 프로그램을 작성하시오.

 

명령 1 : "1 f r x" 형태. 배열의 f 번째 칸부터 r 번째 칸에 각각 x 라는 수를 더한다. ( 1 ≤ f ≤ r ≤ N , -1,000,000 ≤ x ≤ 1,000,000 )

명령 2 : "2 f r" 형태. 배열의 f 번째 칸부터 r 번째 칸 수들의 합을 구하여 출력한다. ( 1 ≤ f ≤ r ≤ N )


입력

첫 줄에 배열의 크기 N 이 입력된다. ( 1 ≤ N ≤ 1,000,000 )

두 번째 줄에 초기 배열의 N 개의 수들이 입력된다. ( -1,000,000 ≤ 각 칸에 담긴 숫자 ≤ 1,000,000 )

세 번째 줄에 명령의 개수 Q 가 입력된다. ( 1 ≤ Q ≤ 10,000 )

네 번째 줄부터 Q 개의 줄에 걸쳐 처리할 명령이 입력된다.


출력

명령 2를 처리할 때마다 그 결과를 출력한다.


예제1

입력
10
-536-10243-110-5
8
115-10
213
134-6
233
15107
199-2
239
248
출력
-26
-10
5
0

예제2

입력
15
-351023-8718-529-21-267-33181923-9
14
1212367
139-34
191530
2111
133-34
2115
127-98
236
115-30
222
1671037
269
244
247
출력
3486
3990
855
249
3241
118
2909

태그


출처

@againalgo

역링크