#include<stdio.h>
#include <malloc.h>
#define MAX 100
int main()
{
int n;
while((scanf("%d",&n))!=EOF && n>0)
{
int *a,*dp;
a=(int *)malloc(sizeof(int)*n);
dp=(int *)malloc(sizeof(int)*n);
int i;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
int max=dp[0]=a[0];
for(i=1;i<n;i++)
{
if(dp[i-1]>0)
dp[i]=dp[i-1]+a[i];
else
dp[i]=a[i];
if(dp[i]>max)
max=dp[i];
}
printf("%d\n",max);
}
return 0;
}
最大连续子段和
最新推荐文章于 2024-05-16 19:44:35 发布