题目链接:http://acm.zzuli.edu.cn/showproblem?problem_id=1457

 
此题有贪心算法的感觉,只是处理方法有些注意而已,应该说是贪心算法的一个小小应用而已,
 
此题代码如下:
View Code
#include <stdio.h>
#include <string.h>
int a[1100];
int b[1100];
int main()
{
int max,i,j,k,n;
while(scanf("%d",&n),n!=0)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
b[0]=a[0];
for(i=1;i<n;i++)
{
max=0;
for(j=0;j<i;j++)
{
if(max<b[j]&&a[i]>a[j])
max=b[j];
}
b[i]=max+a[i];
}
max=0;
for(i=0;i<n;i++)
if(max<b[i])
max=b[i];
printf("%d\n",max);
}
return 0;

}
posted on 2011-12-07 10:18  world_ding  阅读(203)  评论(0编辑  收藏  举报