만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

고기 파티

시간 제한3초메모리 제한1024 MB

요약
구간과 맛 값으로 주어진 고기 조각들에서, 각 사람이 두 꼬치에 모두 찔리고 이전 사람이 제거하지 않은 고기의 맛 값 합을 구합니다.
난이도

보통10점 중 6점

유형
세그먼트 트리, 구간, 정렬
정답자
아직 제출이 없습니다

문제

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

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

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

  • jj번 사람은 긴 꼬치 두 개를 가지고 와서 각각 aj+0.1a_j + 0.1, bj+0.9b_j + 0.9 좌표에 찔러 넣는다. (aj≤bja_j \le b_j) 좌표 xx에 찔러 넣은 꼬치는 si≤x≤eis_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번 사람이 가져가서 먹게 되는 고기의 맛 수치의 합을 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 1≤N,M≤250 0001 \le N, M \le 250\,000
  • 0≤si<ei≤1090 \le s_i < e_i \le 10^9 (1≤i≤N1 \le i \le N)
  • 1≤ti≤1091 \le t_i \le 10^9 (1≤i≤N1 \le i \le N)
  • 0≤aj≤bj≤109−10 \le a_j \le b_j \le 10^9 - 1 (1≤j≤M1 \le j \le M)

예제3

  1. 예제 1

    입력
    5 3
    2 7 3
    5 6 9
    3 5 2
    1 3 6
    4 8 7
    3 6
    2 4
    5 5
    
    예상 출력
    3
    0
    9
    
  2. 예제 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
    
    예상 출력
    1
    110
    0
    
  3. 예제 3

    입력
    5 2
    1 5 5
    2 6 2
    4 8 3
    5 9 4
    7 11 6
    4 5
    8 10
    
    예상 출력
    5
    6