hdu 1087 Super Jumping! Jumping! Jumping!

时间:2021-07-14 22:21:40

思路:这个题和hdu1069很像,基本一模一样

代码:

#include <bits/stdc++.h>
using namespace std;

int a[1005],dp[1005];

int main()
{
    int n;
    while(~scanf("%d",&n)&&n){
        for(int i=0;i<n;i++){
            scanf("%d",&a[i]);
        }
        memset(dp,0,sizeof(dp));
        for(int i=0;i<n;i++){
            int maxe=0;
            for(int j=0;j<i;j++){
                if(a[j]<a[i])
                    maxe=max(maxe,dp[j]);
            }
            dp[i]=maxe+a[i];
        }
        int maxe=0;
        for(int i=0;i<n;i++){
            maxe=max(maxe,dp[i]);
        }
        printf("%d\n",maxe);
    }
    return 0;
}