만드는 중입니다

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

베리 뉴욕

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

요약
격자 위에 최대 100,000개의 식당 좌표가 주어질 때, 각 질의점에서 맨해튼 거리 d 이내에 있는 식당 수를 100,000개의 질의마다 구한다.
난이도

어려움10점 중 8점

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

문제

2211년, 화성에는 베리 뉴욕이라는 도시가 있다. 이 도시의 거리는 완벽한 격자를 이룬다. 도시의 각 교차점은 정수 쌍 (x,y)(x,y)로 나타낼 수 있다. 두 교차점 (x1,y1)(x_1,y_1)과 (x2,y2)(x_2,y_2) 사이의 거리는 ∣x1−x2∣+∣y1−y2∣|x_1-x_2| + |y_1-y_2|이다.

한 투자자가 이 도시에 호텔을 지으려 한다. 호텔 주인들은 "반 마일 이내에 식당 150곳" 같은 문구로 호텔을 광고하는 것을 좋아하므로, 투자자는 후보지 각각에서 특정 거리 안에 있는 식당의 수를 알고 싶어 한다.

입력

첫째 줄에는 도시의 식당 수 RR이 주어진다 (0≤R≤100 0000 \le R \le 100\,000). 다음 RR개 줄에는 식당 하나의 좌표가 한 줄에 하나씩 주어진다. 각 줄에는 두 정수 xx와 yy가 주어진다 (1≤x,y≤1 000 0001 \le x,y \le 1\,000\,000).

(R+2)(R+2)번째 줄에는 쿼리의 수 QQ가 주어진다 (1≤Q≤100 0001 \le Q \le 100\,000). 다음 QQ개 줄에는 쿼리가 한 줄에 하나씩 주어진다. 각 쿼리는 세 정수 xx, yy, dd로 이루어진다 (1≤x,y,d≤1 000 0001 \le x, y, d \le 1\,000\,000).

출력

출력은 QQ개 줄로 이루어지며, 각 줄에는 정수 하나가 들어간다. ii번째 줄에는 ii번째 쿼리 (x,y,d)(x,y,d)의 답, 즉 (x,y)(x,y)에서 거리가 dd 이하인 식당의 수를 출력한다.

예제2

  1. 예제 1

    입력
    3
    2 2
    3 1
    4 1
    2
    3 2 1
    4 2 1
    
    예상 출력
    2
    1
    
  2. 예제 2

    입력
    5
    3 2
    3 6
    4 6
    2 4
    4 6
    2
    4 4 2
    3 4 3
    
    예상 출력
    3
    5