#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;
}
}
最大子序列和 模板题

京公网安备 11010502036488号