만드는 중입니다

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

가로등

면접 대비

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

요약
조명 위치가 주어질 때 0부터 L까지 각 정수 위치에서 가장 가까운 조명까지의 거리 중 가장 작은 K개를 오름차순으로 출력합니다.
난이도

보통10점 중 5점

유형
힙, 정렬, 수학
정답자
아직 제출이 없습니다

문제

수직선 도로 위에 NN개의 가로등이 켜져 있다. 각 가로등의 위치는 왼쪽부터 차례대로 A1<⋯<ANA_1 < \cdots < A_N으로 나타낼 수 있다.

위치 xx의 어두운 정도는 그 위치에서 가장 가까운 가로등까지의 거리로 정의한다. 즉, ∣A1−x∣,⋯ ,∣AN−x∣|A_1 - x|, \cdots, |A_N - x| 중 가장 작은 값이다. 여기서 ∣⋅∣|\cdot|는 절댓값 기호이며, y≥0y \ge 0이면 ∣y∣:=y|y| := y, y<0y < 0이면 ∣y∣:=−y|y| := -y이다.

예를 들어 N=3N = 3이고 가로등이 A1=1A_1 = 1, A2=4A_2 = 4, A3=8A_3 = 8에 있다고 하자. 0부터 10까지 각 정수 위치의 어두운 정도는 다음과 같다.

위치012345678910
어두운 정도10110121012
가로등이 있는가?○○○

x=0x = 0부터 x=Lx = L까지 L+1L+1개의 정수 위치의 어두운 정도를 모두 계산한다. 그중 가장 작은 값부터 KK번째로 작은 값까지 차례대로 출력한다.

입력

첫 줄에 세 정수 LL, NN, KK가 공백으로 구분되어 차례대로 주어진다.

둘째 줄에 NN개의 정수 A1,⋯ ,ANA_1, \cdots, A_N이 공백으로 구분되어 차례대로 주어진다.

출력

KK개의 줄에 걸쳐 답을 출력한다. ii번째 줄에는 ii번째로 작은 어두운 정도의 값을 출력한다.

제한

  • 1≤L≤10181 \le L \le 10^{18}
  • 1≤N≤300,0001 \le N \le 300{,}000
  • 1≤K≤500,0001 \le K \le 500{,}000
  • K≤L+1K \le L + 1
  • 0≤A1<A2<⋯<AN≤L0 \le A_1 < A_2 < \cdots < A_N \le L
  • 주어지는 모든 수는 정수이다.

예제4

  1. 예제 1

    입력
    10 3 4
    1 4 8
    
    예상 출력
    0
    0
    0
    1
    
  2. 예제 2

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

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

    입력
    9 4 10
    0 3 6 9
    
    예상 출력
    0
    0
    0
    0
    1
    1
    1
    1
    1
    1