CSES - Taulukko
  • Time limit: 1.00 s
  • Memory limit: 128 MB

Annettuna on syklinen taulukko, jossa on n lukua. Syklisyys tarkoittaa, että kohdassa n olevan luvun jälkeen tulee taas kohdassa 1 oleva luku.

Tehtäväsi on jakaa taulukko yhtenäisiin väleihin niin, että jokaisen välin lukujen summa on enintään k. Mikä on pienin mahdollinen välien määrä?

Syöte

Syötteen ensimmäisellä rivillä on luvut n ja k.

Syötteen toinen rivi sisältää n lukua x_1,x_2,\ldots,x_n: taulukon sisältö.

Mikään taulukon luku ei ole suurempi kuin k.

Tuloste

Ohjelmasi tulee tulostaa yksi kokonaisluku: pienin välien määrä.

Rajat

  • 1 \le n \le 10^5
  • 1 \le x_i \le 10^9
  • 1 \le k \le 10^{18}

Esimerkki

Syöte:

8 5
2 2 2 1 3 1 2 1

Tuloste:

3

Selitys: Jako on seuraava: "2 | 2 2 1 | 3 1 | 2 1". Huomaa, että yksi ryhmistä jatkuu taulukon lopusta alkuun.