Išmaniosios svarstyklės

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

Martynas nusipirko išmaniąsias svarstykles ir nori sukurti programėlę savo svoriui sekti. Tačiau svarstyklėmis naudosis ne jis vienas – kartais pasinaudos svečiai, draugai, arba ant svarstyklių gali netyčia užlipti ir jo katinas.

Martynas sugalvojo algoritmą, kaip sekti, kiek skirtingų klientų naudojasi svarstyklėmis. Iš pradžių, svarstyklėmis nesinaudoja nei vienas klientas. Kai yra naujas matavimas, jis priskiriamas klientui pagal tokias taisykles:

  1. Jei matavimas nuo visų esamų klientų paskutinio svorio matavimo skiriasi daugiau negu $D$ gramų, tai laikoma, kad sveriasi naujas klientas ir jis yra užregistruojamas.
  2. Priešingu atveju, matavimas priskiriamas tam klientui, kurio paskutinis svorio matavimas yra artimiausias šiam matavimui.
  3. Jei yra keli klientai, kuriems tinka sąlyga (2), matavimas priskiriamas tam klientui, kurio paskutinis svorio matavimas yra mažesnis.

Pavyzdžiui, tarkime, jog svarstyklės užregistravo tokius matavimus iš eilės:

  1. $75000$ gramų: Martynas pasisvėrė ryte.
  2. $75500$ gramų: Martynas pasisvėrė vakare.
  3. $3000$ gramų: Pasisvėrė katinas.
  4. $78500$ gramų: Martyno draugas išbandė svarstykles.
  5. $2950$ gramų: Ant svarstyklių vėl užlipo katinas.
  6. $77000$ gramų: Vėl pasisvėrė Martynas (pavalgęs).

Su parametru $D = 1500$, Martyno algoritmas sugebėtų teisingai atskirti, jog svartyklėmis iš viso naudojosi trys klientai:

Jums duota $N$ svorio matavimų, kuriuos užregistravo išmaniosios svarstyklės, ir parametras $D$. Pagal Martyno sugalvotą algoritmą suskaičiuokite, kiek skirtingų klientų (žmonių, katinų, pelių...) iš viso pasinaudojo svarstyklėmis.

입력

Pirmoje eilutėje įrašyti su sveikieji skaičiai $N$ ir $D$. Toliau seka $N$ eilučių, kuriose įrašyta po vieną svorio matavimą $m_i$ (gramais).

출력

Išveskite vieną skaičių – kiek klientų pasinaudojo išmaniosiomis svarstyklėmis.

제한

  • $1 ≤ N ≤ 10\,000$
  • $0 < D, m_i ≤ 200\,000$