만드는 중입니다

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

스마트 저울

면접 대비

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

요약
N개의 체중 측정값과 기준값 D가 주어질 때, 규칙에 따라 측정값을 배정하여 저울을 사용한 고객 수를 구합니다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 이분 탐색
정답자
아직 제출이 없습니다

문제

마르티나스는 스마트 저울을 샀고, 자신의 체중을 기록하는 앱을 만들고 싶어 합니다. 하지만 이 저울을 쓰는 사람은 그 혼자가 아닙니다. 가끔 손님이나 친구가 쓰고, 고양이가 실수로 올라가기도 합니다.

마르티나스는 저울을 쓴 서로 다른 손님이 몇 명인지 세는 알고리즘을 만들었습니다. 처음에는 아무도 저울을 쓰지 않은 상태입니다. 새 측정값이 들어오면 다음 규칙에 따라 손님에게 배정합니다.

  1. 측정값과 기존 손님 모두의 마지막 체중 측정값의 차이가 DD 그램보다 크면, 새 손님이 저울을 쓴 것으로 보고 등록합니다.
  2. 그렇지 않으면, 마지막 체중 측정값이 이 측정값과 가장 가까운 손님에게 측정값을 배정합니다.
  3. 조건 (2)를 만족하는 손님이 여러 명이면, 마지막 체중 측정값이 더 작은 손님에게 배정합니다.

예를 들어 저울이 다음 측정값을 순서대로 기록했다고 합시다.

  1. 75000 그램: 마르티나스가 아침에 체중을 쟀습니다.
  2. 75500 그램: 마르티나스가 저녁에 체중을 쟀습니다.
  3. 3000 그램: 고양이가 저울에 올라갔습니다.
  4. 78500 그램: 마르티나스의 친구가 저울을 써 보았습니다.
  5. 2950 그램: 고양이가 다시 저울에 올라갔습니다.
  6. 77000 그램: 마르티나스가 식사 후 다시 체중을 쟀습니다.

D=1500D = 1500이면 마르티나스의 알고리즘은 저울을 쓴 사람이 세 명이라고 올바르게 구분합니다.

스마트 저울이 기록한 체중 측정값 NN개와 파라미터 DD가 주어집니다. 마르티나스의 알고리즘에 따라 저울을 쓴 서로 다른 손님(사람, 고양이, 쥐 등)이 모두 몇 명인지 세어 주세요.

입력

첫 줄에 정수 NN과 DD가 주어집니다. 이어서 NN개의 줄에 각각 체중 측정값 mim_i(그램)가 하나씩 주어집니다.

출력

스마트 저울을 쓴 손님의 수를 정수 하나로 출력합니다.

제한

1≤N≤10 0001 \le N \le 10\,000

0<D,mi≤200 0000 < D, m_i \le 200\,000

예제2

  1. 예제 1

    입력
    6 1500
    75000
    75500
    3000
    78500
    2950
    77000
    
    예상 출력
    3
    
  2. 예제 2

    입력
    8 2000
    60000
    61000
    79000
    62000
    81000
    60000
    59000
    80000
    
    예상 출력
    2