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

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

Išmaniosios svarstyklės

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

요약
N개의 체중 측정값이 주어질 때, 첫 측정값으로 고객을 등록하고 이후 측정값이 D그램 이내의 가장 가까운 고객(동률이면 더 작은 값)에게 배정되거나 새 고객을 등록하는 과정을 거쳐 최종 고객 수를 구한다.
난이도

보통10점 중 4점

유형
구현, 배열, 정렬
정답자
아직 제출이 없습니다

문제

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 DD 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. 7500075000 gramų: Martynas pasisvėrė ryte.
  2. 7550075500 gramų: Martynas pasisvėrė vakare.
  3. 30003000 gramų: Pasisvėrė katinas.
  4. 7850078500 gramų: Martyno draugas išbandė svarstykles.
  5. 29502950 gramų: Ant svarstyklių vėl užlipo katinas.
  6. 7700077000 gramų: Vėl pasisvėrė Martynas (pavalgęs).

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

Jums duota NN svorio matavimų, kuriuos užregistravo išmaniosios svarstyklės, ir parametras DD. 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 NN ir DD. Toliau seka NN eilučių, kuriose įrašyta po vieną svorio matavimą m_im\_i (gramais).

출력

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

제한

  • 1≤N≤10,0001 ≤ N ≤ 10\\,000
  • 0<D,m_i≤200,0000 < D, m\_i ≤ 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