만드는 중입니다

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

종 (Bell)

면접 대비

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

요약
정렬된 종 위치와 집 위치가 주어질 때, 각 집에서 가장 가까운 종까지 거리를 K에서 뺀 값을 구하며 음수이면 0으로 합니다.
난이도

쉬움10점 중 3점

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

문제

JOI 시에는 수직선으로 볼 수 있을 만큼 충분히 긴 도로가 1개 있다. 이 도로 위의 각 지점은 1개의 실수 좌표로 나타낸다.

이 도로를 따라 JOI 시에는 종이 N개 있으며, 좌표가 작은 순서대로 1부터 N까지 번호가 붙어 있다. 종 i (1 ≤ i ≤ N)는 좌표 A_i에 있다.

JOI 시에서는 1년이 끝날 때 이 종들을 일제히 울리는 것이 큰 행사다.

종은 울리면 그 종이 있는 지점에서 강도 K의 소리로 들린다. 거리가 1 멀어질 때마다 소리의 강도는 1씩 줄고, 거리가 K 이상이 되면 0이 된다. 따라서 종 i를 울렸을 때 좌표 x에서 들리는 종 i의 소리 강도는 max⁡{K−∣x−Ai∣,0}\max\{K-|x-A_i|,0\}이다. 여기서 |t|는 t의 절댓값이다.

모든 종을 울렸을 때 좌표 x에서 들리는 종소리의 강도는, 좌표 x에서 들리는 각 종의 소리 강도 중 최댓값이다.

JOI 시에는 이 도로를 따라 집이 M채 있으며, 오래된 순서대로 1부터 M까지 번호가 붙어 있다. 집 j (1 ≤ j ≤ M)는 좌표 B_j에 있다.

JOI 시의 시장인 당신은 모든 종을 울렸을 때 각 집에서 들리는 종소리의 강도를 알고 싶다.

JOI 시의 종과 집 정보가 주어졌을 때, 모든 종을 울렸을 때 좌표 B_1, B_2, …, B_M에서 들리는 종소리의 강도를 구하는 프로그램을 작성하라.

입력

입력은 다음 형식으로 주어진다.

N M K
A_1 A_2 … A_N
B_1 B_2 … B_M

출력

M줄을 출력한다. j번째 줄 (1 ≤ j ≤ M)에는 모든 종을 울렸을 때 좌표 B_j에서 들리는 종소리의 강도를 출력한다.

제한

  • 1≤N≤2500001 \le N \le 250000.
  • 1≤M≤2500001 \le M \le 250000.
  • 1≤K≤1091 \le K \le 10^9.
  • 0≤Ai≤1090 \le A_i \le 10^9 (1≤i≤N1 \le i \le N).
  • Ai<Ai+1A_i < A_{i+1} (1≤i≤N−11 \le i \le N-1).
  • 0≤Bj≤1090 \le B_j \le 10^9 (1≤j≤M1 \le j \le M).
  • Bj≠BkB_j \ne B_k (1≤j<k≤M1 \le j < k \le M).
  • 입력되는 값은 모두 정수다.

예제3

  1. 예제 1

    입력
    1 5 10
    20
    20 15 28 10 32
    
    예상 출력
    10
    5
    2
    0
    0
    
  2. 예제 2

    입력
    3 4 100
    116 194 258
    57 155 222 360
    
    예상 출력
    41
    61
    72
    0
    
  3. 예제 3

    입력
    10 10 10000
    589 2398 6567 28817 29177 31636 45468 66751 82282 97509
    2196 54498 80474 61644 18007 38759 85590 72172 79533 69959
    
    예상 출력
    9798
    970
    8192
    4893
    0
    3291
    6692
    4579
    7251
    6792