SOJ ONLINE JUDGE

문제 108

평면의 점 가중치와 직사각형 합

내 상태
미제출
난이도
108번 문제 난이도 보기
Platinum IV
출제자
rlatjwls7882
시간 제한
1000 ms
메모리 제한
1024 MB
108번 문제 태그 보기
구현

평면에 서로 다른 $N$개의 점이 주어진다. 각 점의 가중치는 처음에 $0$이다. 다음 $Q$개의 쿼리를 순서대로 처리해 보자.

  • $0\ x\ y\ v$: 점 $(x,y)$의 가중치에 $v$를 더한다.
  • $1\ x_1\ y_1\ x_2\ y_2$: $x_1\le x<x_2$와 $y_1\le y<y_2$를 만족하는 점 $(x,y)$의 가중치 합을 구한다.
  • $2\ x_0\ y_0$: $x<x_0$과 $y<y_0$을 만족하는 점 $(x,y)$의 가중치 합을 구한다.

$0$번 쿼리의 점은 처음 주어진 점 중 하나이다. $1$번 쿼리에서 $x_1\ge x_2$ 또는 $y_1\ge y_2$이면 답은 $0$이다.

입력

첫 번째 줄에 두 정수 $N$, $Q$가 공백으로 구분되어 주어진다. $(1 \le N, Q \le 200\,000)$

두 번째 줄부터 $N$개의 줄에 걸쳐 각 점의 좌표를 나타내는 두 정수 $x$, $y$가 공백으로 구분되어 주어진다. $(-10^9 \le x, y \le 10^9)$

그다음 줄부터 $Q$개의 줄에 걸쳐 본문에서 설명한 형식의 쿼리가 주어진다. 각 쿼리의 정수는 공백으로 구분되어 주어진다. 쿼리에 주어지는 각 좌표를 $c$라 한다. $(-10^9-1 \le c \le 10^9+1; -10^9 \le v \le 10^9)$

출력

$1$번과 $2$번 쿼리의 답을 쿼리가 주어진 순서대로 한 줄에 하나씩 출력한다.

예제 입력 1

3 8
0 0
2 3
-1 4
2 1 1
0 0 0 7
0 2 3 -4
1 -1 -1 3 4
2 2 4
0 -1 4 9
1 -1 4 0 5
1 3 5 -2 0

예제 출력 1

0
3
7
9
0

제출

편집기에서 나가려면 Esc를 누른 뒤 Tab 또는 Shift와 Tab을 누르세요.