구간 합 구하기 K
시간 제한6초메모리 제한512 MB
K차원 배열에서 각 차원의 구간에 속한 값들의 합을 구하고, 한 칸의 값을 바꾸는 문제입니다.
문제
부터 까지 범위의 정수 에 대해 정수 가 배정되어 있다.
에 대해 개의 쿼리를 처리한다. 쿼리는 두 종류다.
첫 번째 쿼리는 1 S_1 E_1 S_2 E_2 ... S_K E_K이다. 이상 이하의 모든 정수 에 대해 값이 이상 이하인 의 합을 출력한다.
두 번째 쿼리는 2 B_1 B_2 ... B_K X이다. 를 로 바꾼다.
입력
첫째 줄에 , , 가 공백으로 구분되어 주어진다.
둘째 줄에는 에 배정된 정수 개가 주어진다. 둘째 줄의 번째 수(0부터 시작)는 V[i // N^(K-1) % N + 1, i // N^(K-2) % N + 1, ..., i // N^0 % N + 1] 위치에 배정된 값이다. //는 몫, %는 나머지 연산자이며, //, %, +의 우선순위는 같다.
그 다음 개의 줄에는 위에서 설명한 두 쿼리 중 하나가 한 줄에 하나씩 주어진다. 첫 번째 쿼리는 최소 한 개 이상 주어진다.
출력
첫 번째 쿼리마다 정답을 한 줄에 하나씩 출력한다.
제한
- 입력으로 주어지는 모든 수는 정수이다.