#include <iostream>
using namespace std;
int main()
{
int n;
int a[200000],m[200000];
scanf("%d",&n);
scanf("%d",&a[0]);
m[0]=a[0];
int nmax=a[0];
for(int i=1;i<n;i++)
{
scanf("%d",&a[i]);
if (a[i]>0) m[i]=m[i-1]+a[i];
else m[i]=a[i];
m[i]=a[i]+m[i-1]>a[i]?a[i]+m[i-1]:a[i];
nmax=m[i]>nmax?m[i]:nmax;
}
printf("%d",nmax);
return 0;
}
18708 最大子段和
最新推荐文章于 2024-10-11 16:16:14 发布