#include <stdio.h> #include <algorithm> using namespace std; int a[100005]; int d[100005]; int main(){ int n; scanf("%d", &n); for (int i = 1; i <= n; i++){ scanf("%d", &a[i]); } int maxn = 0; for (int i = 1; i <= n; i++){ d[i] = max(d[i - 1] + a[i], 0); if (d[i] > maxn) maxn = d[i]; } printf("%d\n", maxn); return 0; }
原文地址:http://blog.csdn.net/u013174702/article/details/45965561