51nod 1049 最大子段和
动态规划思想:当前最大子段和是前一个数字结尾的子段和(正数)+当前值,子段和(负数)另起子段。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <map>
using namespace std;
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define mod 10007
#define N 110000
int n;
int main()
{
scanf("%d",&n);
int a;
long long ans = 0;
long long now = 0;
for(int i = 0 ;i < n; i++)
{
scanf("%d",&a);
if(now < 0)
now = a;
else
now += a;
if(now > ans)
ans = now;
}
printf("%lld\n",ans);
return 0;
}