#include #include #include #include #include #include #include using namespace std; typedef long long ll; const int mod=998244353; const int maxn=1e5+5; ll a[maxn],sum[maxn],n,m; namespace IO{ char buf[1<<20],*P1=buf,*P2=buf; //#define gc() getchar() #define gc() (P1==P2&&(P2=(P1=buf)+fread(buf,1,1<<20,stdin),P1==P2)?EOF:*P1++) #define TT templateinline TT void read(T&x) { x=0;register char c=gc();register bool f=0; while(c<48||c>57){f^=c=='-',c=gc();} while(47=m)flag=1; } if(flag)write(1); else { ll k=x,mx=-1e16; for(int i=1;i<=n;i++) { x+=a[i]; mx=max(mx,x); if(x<0)x=0; } ll d=x-k; if(mx>=m) { write(2); continue; } else if(d<=0) { write(-1); continue; } ll ans=(m-maxv-k)%d==0?(m-maxv-k)/d:(m-maxv-k)/d+1; // for(int i=1;i<=n;i++) // { // ll p=m-a[i]; // ans=min(ans,p%d==0?p/d:p/d+1); // } // m-=k;ans++; // ans+=(m-maxv)%d==0?(m-maxv)/d:(m-maxv)/d+1; write(ans+2); } } return 0; }