#include <bits/stdc++.h>
using namespace std;

int main()
{
   
    vector<int>a={5,6,-1,4,-6,8,-14,6};
    int n=a.size();
    int curr=INT_MIN;
    int prev=INT_MIN;

    vector<int>p3(n+1,INT_MIN),p4(n+1,INT_MIN);
    prev=max(a[0],0);
    p3[0]=prev;
    for(int i=1;i<n;i++){
        curr=max({prev+a[i],a[i],0});
        p3[i]=max(p3[i-1],curr);
        prev=curr;
    }

    prev=max({a[n-1],0});
    p4[n-1]=prev;
    for(int i=n-2;i>=0;i--){
        curr=max({prev+a[i],a[i],0});
        p4[i]=max(p4[i+1],curr);
        prev=curr;
    }

    
    int ans=INT_MIN;
    ans=p4[0];
    for(int i=0;i<n;i++){
        ans=max(ans,p3[i]+p4[i+1]);
    }
    cout<<" ans "<<ans<<endl;
    return 0;
}