60040 고기 파티 Gold I

시간 제한: 3초 (추가 시간 없음) 메모리 제한: 1024MB

문제

오늘은 고기 파티가 열리는 날이다. 파티에 걸맞도록, 기다란 그릴 위에 잘 구워진 고기가 총 NN개 놓여 있다.

그릴을 10910^9 의 길이를 가진 선분이라고 하고, 그릴의 왼쪽 끝을 좌표 00, 오른쪽 끝을 좌표 10910^9 이라고 하자. 각 고기는 그릴 위에서 특정 구간을 차지하고 있으며, 양의 정수로 표현되는 맛 수치를 각각 가진다. ii번째 고기는 (1iN1 \le i \le N) 구간 [si,ei][s_i, e_i]에 해당하는 좌표를 차지하고 있으며 맛 수치는 tit_i이다. 여러 고기가 겹쳐 있을 수 있다.

파티에는 MM 명의 사람이 참석하였다. 11 번 사람부터 MM 번 사람까지 번호 순서대로 그릴 앞에 서서 각자 먹을 고기를 가져간다. 고기를 가져가는 방법은 다음과 같다.

  • jj 번 사람은 (1jM1 \le j \le M) 긴 꼬치 두 개를 가지고 와서 각각 aj+0.1a_j + 0.1, bj+0.9b_j + 0.9 좌표에 찔러 넣는다. (ajbja_j \le b_j) 좌표 xx에 찔러 넣은 꼬치는 sixeis_i \le x \le e_i를 만족하는 모든 고기에 꽂히게 된다.
  • 그다음, 꼬치를 통째로 들고 자리로 돌아간다. 이때 하나 이상의 꼬치가 꽂힌 고기는 모두 같이 들려 가고, 그릴 위에서 사라진다.
  • 둘 중 하나의 꼬치만 꽂힌 고기는 들고 가다 바닥에 떨어진다. 두 꼬치가 모두 꽂힌 고기만 자리로 가져가서 먹을 수 있다.

파티의 주최자인 당신은 각 사람이 어떤 고기를 가져가서 먹게 될지가 궁금하다. 각 사람이 가져가서 먹게 되는 고기의 맛 수치의 합을 구하여 보자. 들고 가다 떨어트린 고기는 합에서 제외해야 함에 유의하라.

입력

첫 번째 줄에 고기의 수 NN과 사람의 수 MM이 주어진다.

다음 줄부터 NN개의 줄에 걸쳐, 이 중 ii번째 줄에는 ii번째 고기가 차지하는 구간과 맛 수치를 나타내는 세 정수 sis_i, eie_i, tit_i가 주어진다.

다음 줄부터 MM개의 줄에 걸쳐, 이 중 jj번째 줄에는 jj 번 사람이 꼬치를 어느 좌표에 찔러 넣을지를 나타내는 두 정수 aja_j, bjb_j가 주어진다.

출력

MM개의 줄에 걸쳐, 이 중 jj번째 줄에는 jj 번 사람이 가져가서 먹게 되는 고기의 맛 수치의 합을 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 1N,M2500001 \le N, M \le 250\,000
  • 0si<ei1090 \le s_i < e_i \le 10^9 (1iN1 \le i \le N)
  • 1ti1091 \le t_i \le 10^9 (1iN1 \le i \le N)
  • 0ajbj10910 \le a_j \le b_j \le 10^9 - 1 (1jM1 \le j \le M)

서브태스크

번호배점제한
15N,M1,000N, M \le 1,000
29eisi5e_i - s_i \le 5 (1iN1 \le i \le N)
311si<si+1s_i < s_{i+1}, ei>ei+1e_i > e_{i+1} (1iN11 \le i \le N-1)
423eisi=e1s1e_i - s_i = e_1 - s_1 (2iN2 \le i \le N)
552추가 제약 조건이 없음.

예제 입출력

예제 입력 1
5 3
2 7 3
5 6 9
3 5 2
1 3 6
4 8 7
3 6
2 4
5 5
예제 출력 1
3
0
9
예제 입력 2
6 3
1 12 1
2 11 10
3 10 100
4 9 1000
5 8 10000
6 7 100000
1 11
5 9
6 8
예제 출력 2
1
110
0
예제 입력 3
5 2
1 5 5
2 6 2
4 8 3
5 9 4
7 11 6
4 5
8 10
예제 출력 3
5
6

출처

올림피아드 한국정보올림피아드 KOI 2023 2차 초등부 4번 중등부 3번
solution.cpp
에디터 불러오는 중...