아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

보이지 않는 부분

시간 제한2초메모리 제한256 MB

요약
n개의 수직 선분과 (서쪽 시력, 동쪽 시력) 쿼리가 주어질 때, 양쪽 관찰자 모두 볼 수 없는 부분 길이의 합을 각 쿼리마다 구한다.
난이도

어려움10점 중 9점

유형
기하, 정렬, 누적 합, 이분 탐색
정답자
아직 제출이 없습니다

문제

2차원 평면 위에 nn개의 수직 선분이 있다. 서로 무한히 멀리 떨어진 X축 위의 두 점에 서쪽 관찰자와 동쪽 관찰자가 각각 서 있다.

각 관찰자는 음이 아닌 정수 pp의 시력을 가지며, 이는 선분을 통과해 볼 수 있게 해 준다. 시력 pp인 관찰자가 어떤 선분 위의 한 점을 볼 수 있다는 것은, 관찰자와 그 점을 잇는 선분과 교차하는 다른 선분의 개수가 pp개 이하라는 뜻이다. 어떤 선분의 일부분이 두 관찰자 중 누구에게도 보이지 않으면 그 부분을 보이지 않는다고 한다.

qq개의 질의가 주어진다. 각 질의는 두 정수로 이루어지며, 각각 서쪽 관찰자와 동쪽 관찰자의 시력이다. 각 질의마다 모든 선분에서 보이지 않는 부분의 길이의 합을 구해야 한다.

입력

첫째 줄에 선분의 개수 nn이 주어진다. (1≤n≤1051 \le n \le 10^5)

다음 nn개의 줄 중 ii번째 줄에는 세 정수 xix_i, aia_i, bib_i가 주어지며, 이는 ii번째 선분의 위치를 나타낸다. 선분의 양 끝점의 좌표는 각각 (xi,ai)(x_i, a_i)와 (xi,bi)(x_i, b_i)이다. (1≤x≤1091 \le x \le 10^9, 1≤ai<bi≤1091 \le a_i < b_i \le 10^9) 모든 선분의 길이는 양수이고, 어떤 두 선분도 공통점을 가지지 않는다.

다음 줄에는 질의의 개수 qq가 주어진다. (1≤q≤1051 \le q \le 10^5)

다음 qq개의 줄에는 각각 두 정수 ll과 rr이 주어지며, 이는 그 질의에서 서쪽 관찰자와 동쪽 관찰자의 시력이다. (0≤l≤r≤1050 \le l \le r \le 10^5)

출력

qq개의 줄에 각 질의의 답을 한 줄에 하나씩 출력한다.

힌트

첫 번째 질의에서 서쪽 관찰자는 첫 번째 선분 전체, 네 번째 선분의 Y좌표 [5,6][5, 6] 부분, 여섯 번째 선분의 Y좌표 [6,7][6, 7] 부분을 본다.

동쪽 관찰자는 다섯 번째 선분과 여섯 번째 선분 전체, 네 번째 선분의 Y좌표 [2,3][2, 3] 부분, 세 번째 선분의 Y좌표 [1,2][1, 2] 부분을 본다.

보이지 않고 남는 부분은 두 번째 선분 전체, 세 번째 선분의 Y좌표 [2,3][2, 3] 부분, 네 번째 선분의 Y좌표 [3,5][3, 5] 부분이다. 이들의 길이의 합은 1+1+2=41 + 1 + 2 = 4이다.

다른 모든 질의에서는 보이지 않는 부분이 없다.

예제1

  1. 예제 1

    입력
    6
    1 1 5
    2 1 2
    3 1 3
    4 2 6
    5 3 4
    6 4 7
    4
    0 0
    1 1
    0 1
    1 0
    
    예상 출력
    4
    0
    0
    0