#17 Master
문제 설명
N개의 수로 이루어진 수열이 있다. 이 수열에 대해 다음 두 가지 연산을 수행하는 프로그램을 작성하시오.
연산 1: 구간 [l, r]의 모든 수에 v를 더한다.
연산 2: 구간 [l, r]의 합을 출력한다.
느리게 갱신되는 세그먼트 트리(Lazy Propagation)를 활용해야 시간 내에 해결할 수 있다.
입력 형식
첫째 줄에 수의 개수 N과 연산의 수 Q가 주어진다. (1 ≤ N, Q ≤ 100,000)
둘째 줄에 N개의 수가 공백으로 구분되어 주어진다.
다음 Q개의 줄에 연산이 주어진다.
1 l r v: A[l]부터 A[r]까지 모든 수에 v를 더한다.
2 l r: A[l]부터 A[r]까지의 합을 출력한다.
출력 형식
각 2 연산에 대해 결과를 한 줄에 하나씩 출력한다.
예제 1
입력
5 4 1 2 3 4 5 1 1 3 2 2 1 5 1 3 5 1 2 2 4
출력
21 15
문제 정보
시간 제한 2000ms
메모리 제한 256MB
제출 수 0
정답률 0.0%