#include #define int ll using namespace std; #define rep(i,n) for(int i=0;i=0;i--) #define rng(i,c,n) for(int i=c;i #define _4aNWZeC ios::sync_with_stdio(0),cin.tie(0) using ll=long long; using pii=pair; using vi=vector; void print(){cout<<'\n';} template void print(const h&v,const t&...u){cout<>n>>tar; vi a(n); rep(i,n){ cin>>a[i]; } rep(i,n){ a.pb(a[i]); } int n2=n*2; vi ps; rep(i,n2){ ps.pb((!sz(ps)?0:ps.back())+a[i]); } set st; int ans=0; per(i,n2){ // -lo + ps[i] <= tar // ps[i] <= tar + lo st.insert(ps[i]); int lo=!i?0:ps[i-1]; auto it=st.upper_bound(tar+lo); if(it!=st.begin()){ it=prev(it); ans=max(ans,*it-lo); } } cout<