hdu 1087dp裸题

http://acm.hdu.edu.cn/showproblem.php?pid=1087

代码如下:

#include"stdio.h"

#include"string.h"



int a[1005],sum[1005];

int main( )

{

    int n,i,j,max;

    while(scanf("%d",&n)&&n!=0)

    {

        max=0;

        memset(sum,0,sizeof(sum));

        for(i=1;i<=n;i++)

        {

            scanf("%d",&a[i]);

            for(j=0;j<i;j++)

                if(sum[j]+a[i]>sum[i]&&a[i]>a[j])

                    sum[i]=sum[j]+a[i];

        }

        for(i=1;i<=n;i++)

            if(max<sum[i])

                max=sum[i];

        printf("%d\n",max);

    }

    return 0;

}

你可能感兴趣的:(HDU)