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

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

코로나 백신 접종

면접 대비

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

요약
직선 위 n명의 위치와 안전 거리 L이 주어질 때, 남은 사람들 사이의 거리가 모두 L 이상이 되도록 제거해야 하는 최소 인원을 구한다.
난이도

보통10점 중 5점

유형
그리디, 정렬, 배열, 구간
정답자
아직 제출이 없습니다

문제

네버랜드에서 아기가 태어나면, 그 아기에게 네버랜드 대로 위의 한 위치가 배정된다. 아침 체조를 비롯한 모든 전통 활동에서 네버랜드 시민들은 대로 위에 배정받은 자기 위치에 선다. 안타깝게도 코로나 대유행 동안 네버랜드의 모든 야외 전통 활동은 취소되었다. 코로나 백신이 승인된 뒤, 네버랜드 의회는 활동을 다시 열기로 했지만 물론 코로나 안전 규정을 두기로 했다. 네버랜드 의회는 백신을 맞은 사람은 감염되지도, 감염을 옮기지도 않는다고 가정했다. 반면 백신을 맞지 않은 사람들 사이에는 코로나 안전 거리가 있어서, 두 사람 사이에 이 거리를 유지하면 안전하다. 따라서 안전한 상황이란 백신을 맞지 않은 두 사람마다 코로나 안전 물리적 거리를 유지하는 상황이다. 전통 활동에 참여하는 시민들에게 배정된 위치를 알고 있는 네버랜드 의회는, 활동을 안전하게 만들기 위해 최소 수의 시민에게 백신을 접종하기로 했다.

입력

입력은 두 줄로 이루어진다. 첫째 줄에는 공백으로 구분된 두 정수 n (1 ⩽ n ⩽ 105)과 코로나 안전 거리 L (1 ⩽ L ⩽ 105)이 주어진다. n은 활동에 참여하는 네버랜드 시민의 수이고, L은 두 사람 사이의 거리가 적어도 L이면 서로 바이러스를 옮기지 않는다는 거리이다. 다음 줄에는 [−105, 105] 범위의 정수 n개가 주어지며, i번째 수는 i번째 참여 시민의 위치를 나타낸다. 위치는 네버랜드 대로 시작점에서 잰 미터 단위 거리로 계산한다.

출력

네버랜드에서 활동을 안전하게 하기 위해 백신을 접종해야 하는 시민 수의 최솟값을 출력한다.

예제2

  1. 예제 1

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

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