HDOJ 1087 Super Jumping! Jumping! Jumping!

#include<iostream>
#include<cmath>
using namespace std;
int a[1005], dp[1005];
int main()
{
    int n,sum,i,j;
    while( scanf("%d",&n)&&n){
           for( i=0; i<n; i++){
                scanf("%d",&a[i]);
                dp[i]=a[i];
           }
           sum=0;
           for( i=1; i<n; i++){
                for( j=0; j<i; j++){
                     if( a[i]>a[j])
                         dp[i]=max(dp[i],dp[j]+a[i]);
                }
                if( dp[i]>sum)
                    sum=dp[i];
           } 
           printf("%d\n",sum);         
    }
    return 0;
}
唯一需要注意的是:可以隔着跳

你可能感兴趣的:(HDOJ 1087 Super Jumping! Jumping! Jumping!)