Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using ll=long long;
- using namespace std;
- ll x[300000];
- ll pref[300000];
- int main(){
- ll n, a, b;
- cin>>n>>a>>b;
- x[0]=pref[0]=0;
- for(ll i=1;i<=n;i++){
- cin>>x[i];
- }
- multiset<ll, greater<ll> > cur;
- pref[1]=x[1];
- for(ll i=1;i<=n;i++){
- pref[i]=pref[i-1]+x[i];
- }
- for(int i=1;i<=n;i++){
- cout<<pref[i]<<" ";
- }
- for(ll i=a;i<=b and i<=n;i++){
- cur.insert(pref[i]);
- }
- ll answer=*cur.begin();
- for(ll i=1;i+a<=n;i++){
- if(cur.find(pref[i+a-1])!=cur.end())
- cur.erase(cur.find(pref[i+a-1]));
- if(i+b<=n){
- cur.insert(pref[i+b]);
- }
- answer=max(answer, *cur.begin()-pref[i]);
- }
- cout<<answer<<'\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement