근시
면접 대비시간 제한2초메모리 제한512 MB
모두 0인 배열에서 갱신 질의는 각 위치에 삼각형 모양의 가중치를 더하고, 합 질의는 구간 합을 1e9+7로 나눈 나머지를 출력한다.
문제
2019 ICPC Asia Jakarta Regional Contest를 준비하던 Budi는 자료 구조 문제를 하나 발견했다. 그런데 문제를 잘못 읽었고, 자기가 생각한 문제가 원래 문제보다 훨씬 재미있다고 주장하며 이 문제를 만들었다.
정수 배열 에 대한 함수 을, 모든 에 대해 부분 배열 의 각 원소를 1씩 증가시키는 연산으로 정의하자. 다시 말해 함수 은 다음과 같다(의사 코드).
function f(L, R):
FOR i from L to R
FOR j from i to R
FOR k from i to j
Ak = Ak + 1
개의 원소로 이루어진 배열 가 주어진다(처음에는 모든 에 대해 ). 에 다음 두 종류의 질의를 번 수행하라.
1 L R— 에 을 수행한다.2 L R— 인 모든 의 합을 출력한다.
입력
첫 줄에 두 정수 , 가 주어진다(). 은 의 크기이고 는 질의의 수이다. 다음 개의 줄에 각각 다음 형태의 질의가 주어진다.
1 L R()2 L R()
두 번째 종류의 질의가 적어도 하나 있다.
출력
두 번째 종류의 질의마다, 입력에 주어진 순서대로 인 모든 의 합을 한 줄에 출력한다. 값이 클 수 있으므로 출력을 로 나눈 나머지를 출력한다.