标签:
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1087
1 #include<iostream> 2 #include<cmath> 3 #include<cstring> 4 using namespace std; 5 6 int val[1005]; 7 int dp[1005]; 8 9 int main(){ 10 ios::sync_with_stdio( false ); 11 12 int n; 13 while( cin >> n, n ){ 14 for( int i = 1; i <= n; i++ ) 15 cin >> val[i]; 16 17 memset( dp, 0, sizeof( dp ) ); 18 19 for( int i = 1; i <= n; i++ ){ 20 int max = 0; 21 22 for( int j = 1; j < i; j++ ){ 23 if( val[j] < val[i] && max < dp[j] ){ 24 max = dp[j]; 25 } 26 } 27 28 dp[i] = max + val[i]; 29 } 30 31 int ans = 0; 32 for( int i = 1; i <= n; i++ ) 33 ans = max( ans, dp[i] ); 34 35 cout << ans << endl; 36 } 37 38 return 0; 39 }
HDU-1087 Super Jumping! Jumping! Jumping!( DP )
标签:
原文地址:http://www.cnblogs.com/hollowstory/p/5432624.html