Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- long long qs[1000100];
- int maxx[1000100];
- int main(){
- int n,k;
- scanf(" %d %d",&n,&k);
- for(int i = 1;i<=n;i++){
- scanf(" %lld",&qs[i]);
- qs[i] += qs[i-1];
- }
- /*
- cout << endl;
- for (int i = 1;i<=n;i++) cout << qs[i] << " ";
- cout << endl;
- */
- for(int i = n;i>=1;i--){
- maxx[i] = i;
- if(i!=n+1 && qs[maxx[i+1]] >= qs[i]) maxx[i] = maxx[i+1];
- }
- /*
- for (int i = 1;i<=n;i++) cout << maxx[i] << " ";
- cout << endl;
- */
- long long ans = -1e18;
- long long minn = 1e18;
- for(int i = k;i<=n;i++){
- minn = min(minn,qs[i-k]);
- ans = max(ans,qs[maxx[i]] - minn);
- //cout << minn << " " << ans << endl;
- }
- printf("%lld",ans);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement