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

const int N = 1000010;
long long dp[N];
long long a[N];
long long num;

int main(){
    int n;
    while(cin >> n){
        for(int i = 0 ; i < n ; i++) cin >> a[i];

        dp[0] = num = a[0];

        for(int i = 0 ; i < n ; i++){
            dp[i] = max(dp[i-1] + a[i],a[i]);
            if(num < dp[i]){
                num = dp[i];
            }    
        }

        cout << num << endl;
    }
}

最大子序列和 模板题