#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N = 2e5+10;
//dp思路 f[i]表示以第i个元素结尾的子段和 f[i] = max(f[i],f[i-1]+a[i])
int a[N];
ll s[N];
int n;
int f[N];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int res = 0;
for(int i=1;i<=n;i++){
f[i] = max(f[i],f[i-1]+a[i]);
}
for(int i=1;i<=n;i++) res = max(res,f[i]);
cout<<res<<endl;
return 0;
}