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

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

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

Syöte

Syötteen ensimmäisellä rivillä on luvut nn ja kk.

Syötteen toinen rivi sisältää nn lukua x1,x2,,xnx_1,x_2,\ldots,x_n: taulukon sisältö.

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

Tuloste

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

Rajat

  • 1n1051 \le n \le 10^5
  • 1xi1091 \le x_i \le 10^9
  • 1k10181 \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.