Advertisement
Gornak40

Problem 2

Feb 15th, 2021
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. #define int long long
  5.  
  6. signed main() {
  7.     int n;
  8.     cin>>n;
  9.  
  10.     vector<int> a(n),pref(n+1,0),suf(n+1,0), max_suf(n+1,0);
  11.     int mn=0,ans=0;
  12.  
  13.     for(int i=0;i<n;i++){
  14.         cin>>a[i];
  15.  
  16.         pref[i+1]=pref[i]+a[i];
  17.         ans=max(ans,pref[i+1]-mn);
  18.         mn=min(mn,pref[i+1]);
  19.     }
  20.  
  21.     for(int i=(int)a.size()-1;i>=0;i--){
  22.         suf[i]=suf[i+1]+a[i];
  23.         max_suf[i]=max(max_suf[i+1],suf[i+1]+a[i]);
  24.     }
  25.  
  26.     int mx=0;
  27.     for(int i=0;i<a.size();i++){
  28.         mx=max(mn,pref[i]);
  29.         ans=max(ans,pref[i]+max_suf[i+1]);
  30.     }
  31.  
  32.     cout<<ans;
  33. }
  34.  
  35.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement