어부

면접 대비

시간 제한1초메모리 제한512 MB

요약
각 어부마다 |x - a| + y 이 l 이하인 물고기 수를 구합니다.
난이도

보통10점 중 5점

유형
배열, 정렬, 이분 탐색
정답자
아직 제출이 없습니다

문제

바다는 데카르트 평면의 제1사분면으로 나타낼 수 있다.

바다에는 물고기 n마리가 있다. 각 물고기는 좌표를 가진다. 한 점에 여러 마리의 물고기가 있을 수도 있다. 어부도 m명 있다.

각 어부는 x좌표를 가진다. 어부의 y좌표는 항상 0이다. 각 어부는 길이 l인 낚싯대를 가지고 있으므로 거리가 l 이하인 물고기를 잡을 수 있다. 위치 x에 있는 어부와 위치 (a, b)에 있는 물고기 사이의 거리는 |a − x| + b이다.

각 어부가 몇 마리의 물고기를 잡을 수 있는지 구하시오.

입력

첫째 줄에 정수 n, m, l이 주어진다 (1 ≤ n, m ≤ 2 · 10^5, 1 ≤ l ≤ 10^9). n은 물고기의 수, m은 어부의 수, l은 낚싯대의 길이이다.

다음 n개 줄에 물고기의 좌표를 나타내는 두 정수 x_i와 y_i가 주어진다 (1 ≤ x_i, y_i ≤ 10^9).

다음 줄에 m개의 정수 a_i가 주어진다 (1 ≤ a_i ≤ 10^9). 이는 어부의 좌표이다.

출력

각 어부가 잡을 수 있는 물고기의 수를 한 줄에 하나씩 출력한다.

힌트

그림은 위 예제에서 세 번째 어부가 물고기를 잡을 수 있는 영역을 나타낸다.

예제1

  1. 예제 1

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