从一组数据(长度为 n,其中 n <= 10000,数据的值都大于 -60000)中找出连续的一段数,使得这段数的和最大。
输入描述
第一行是一个正整数 n,表示数据的个数,从第二行开始是 n 个数据。
输出描述
一行,子段的最大和。
样例输入
5
1 -3 4 1 -9
样例输出
5
#include<stdio.h>
int main()
{
int n,i,m=0,t=0,j;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
scanf("%d",&a[i]);
t=0;
for(i=0;i<n;i++)
{
m=0;
for(j=i+1;j<n;j++)
{
if(a[j]>a[j-1])
m+=a[j];
}
if(m>t) t=m;
}
printf("%d",t);
return 0;
}