#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n;cin>>n;
    vector<int> nums(n);
    //输入数据
    for(int i=0;i<n;i++)
    {
        cin>>nums[i];
    }
    
    //初始化
    int maxEndingHere = nums[0];    //当前位置结束的最大子数组和
    int maxSoFar = nums[0];         //全局最大子数组和

    //迭代
    for(int i=1;i<n;i++)
    {
        maxEndingHere = max(nums[i],maxEndingHere+nums[i]);
        maxSoFar = max(maxSoFar,maxEndingHere);
    }

    cout<<maxSoFar<<endl;

}
// 64 位输出请用 printf("%lld")