WA 12
#include <bits/stdc++.h>
using namespace std;
const int kmaxn=2e5;
int klg=18;
int n,k,x[kmaxn*2+5],f[kmaxn*2+5][klg+5];
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>x[i];
x[n+i]=x[i];
}
int l=1,r=1,sum=0;
while(l<=n*2){
while(r<=n*2&&sum+x[r]<=k){
sum+=x[r];
r++;
}
f[l][0]=r;
sum-=x[l];
l++;
}
f[n*2+1][0]=n*2+1;
for(int j=1;j<=klg;j++){
for(int i=1;i<=n*2;i++){
f[i][j]=f[f[i][j-1]][j-1];
}
f[n*2+1][j]=n*2+1;
}
int ans=n;
for(int i=1;i<=n;i++){
int curans=0,curpos=i;
for(int j=klg;j>=0;j--){
if(f[curpos][j]>=i+n){
curans+=(1<<j);
curpos=f[curpos][j];
}
}
ans=min(ans,curans+1);
}
cout<<ans;
return 0;
}



