#14 Diamond V
문제 설명
어떤 N개의 수가 주어져 있다. 그런데 중간에 수의 변경이 빈번히 일어나고 그 중간에 어떤 부분의 합을 구하려 한다.
만약에 1, 2, 3, 4, 5라는 수가 있고, 3번째 수를 10으로 바꾸면 1, 2, 10, 4, 5가 되고, 2번째부터 4번째까지 합을 구하면 16이 된다.
입력 형식
첫째 줄에 수의 개수 N과 연산의 수 Q가 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ Q ≤ 100,000)
둘째 줄에 N개의 수가 공백으로 구분되어 주어진다.
다음 Q개의 줄에 연산이 주어진다.
1 i v: A[i]의 값을 v로 변경한다. (1-indexed)
2 l r: A[l]부터 A[r]까지의 합을 출력한다. (1-indexed, 양 끝 포함)
출력 형식
각 2 연산에 대해 결과를 한 줄에 하나씩 출력한다.
예제 1
입력
5 4 1 2 3 4 5 2 1 5 1 3 10 2 1 5 2 2 4
출력
15 22 16
문제 정보
시간 제한 2000ms
메모리 제한 256MB
제출 수 0
정답률 0.0%