测试数据没问题,不知道为什么总是wa
地址 http://acm.hdu.edu.cn/showproblem.php?pid=1087
#include<stdio.h>
#include<string.h>
int main()
{ int n,i,j,a[1005],b[1005],c,sum;
while(scanf("%d",&n)!=EOF&&n)
{
memset(b,0,sizeof(b));
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=n-1;i>=0;i--)
{
sum=a[i];
for(j=i-1,c=a[j+1];j>=0;j--)
{
if(a[j]<a[j+1]&&a[j]<c) //判断a[j]是否为符合要求的数
{
sum+=a[j];c=a[j];
} //即:后面的数大与前面一个数
}
b[i]=sum;
}
int max;
for(i=0,max=b[0];i<n;i++)
{
if(max<b[i+1]) max=b[i+1];
}
printf("%d\n",max);
}
return 0;
}