#include <bits/stdc++.h>
using namespace std;

vector<long long>pref;
long long K;
int leng;

int controlla(int b){

for (int i=0; i<(leng-b+1); i++){
    if (i==0){
        if (pref[b-1]>K){return 0;}
    }
    else {
        if (pref[b+i-1]-pref[i-1]>K){return 0;}
    }
}

return 1;
}




int quadri(int N, long long M, int V[]){

leng=N;
K=M;
pref.resize(N);
pref[0]=V[0];
for (int i=1; i<N; i++){
    pref[i]=pref[i-1]+V[i];
}

int l=0;
int r=N;

int ris=-1;
while (l!=r){
    int lol=controlla((l+r+-1)/2);
    if (lol==0){
        r=(l+r+1)/2-1;
    }
    else {
        l=(l+r+1)/2;
        ris=lol;
    }
}
ris++;
return ris;

}