```cpp #include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int,int> const int N=300005; int pre[N],nxt[N],a[N]; int n,t; priority_queue<pii,vector<pii>,greater<pii>> pq; signed main(){ ios::sync_with_stdio(0),cin.tie(0); cin>>n>>t; for(int i=0;i<n;++i){ cin>>a[i]; pq.push({a[i],i}); } for(int i=1;i<=n;++i){ pre[i]=i-1; nxt[i-1]=i; } int ans=0; while(!pq.empty()){ auto[w,id]=pq.top(); pq.pop(); if(w!=a[id]) continue; if(w>t) break; a[nxt[id]]+=a[id]; ans+=a[id]; a[id]=0; nxt[pre[id]]=nxt[id]; pre[nxt[id]]=pre[id]; if(nxt[id]<n) pq.push({a[nxt[id]],nxt[id]}); } cout<<ans; }
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up