hdu 1087 Super Jumping! Jumping! Jumping!
2014-08-02 14:47
435 查看
LIS
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int const MAXN = 1010;
int dp[MAXN],a[MAXN];
inline int Max(int a,int b){
return a>b?a:b;
}
int main(){
int n;
while(~scanf("%d",&n),n){
memset(dp,0,sizeof(dp));
for(int i = 1;i <= n;i++){
scanf("%d",&a[i]);
}
int m;
m = dp[1] = a[1];
for(int i = 2;i <= n;i++){
dp[i] = a[i];
for(int j = 1;j <= i;j++){
if(a[i] > a[j]){
dp[i] = Max(dp[i],dp[j] + a[i]);
}
}
m = Max(m,dp[i]);
}
printf("%d\n",m);
}
return 0;
}
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int const MAXN = 1010;
int dp[MAXN],a[MAXN];
inline int Max(int a,int b){
return a>b?a:b;
}
int main(){
int n;
while(~scanf("%d",&n),n){
memset(dp,0,sizeof(dp));
for(int i = 1;i <= n;i++){
scanf("%d",&a[i]);
}
int m;
m = dp[1] = a[1];
for(int i = 2;i <= n;i++){
dp[i] = a[i];
for(int j = 1;j <= i;j++){
if(a[i] > a[j]){
dp[i] = Max(dp[i],dp[j] + a[i]);
}
}
m = Max(m,dp[i]);
}
printf("%d\n",m);
}
return 0;
}
相关文章推荐
- HDU 1087 Super Jumping! Jumping! Jumping!
- HDU 1087 Super Jumping! Jumping! Jumping! DP
- hdu 1087 Super Jumping! Jumping! Jumping!(dp+最长递增序列)
- hdu 1087 Super Jumping! Jumping! Jumping!
- HDU1087 Super Jumping! Jumping! Jumping!(LIS)
- HDU 1087 Super Jumping! Jumping! Jumping!
- 【hdu - 1087 (Super Jumping! Jumping! Jumping!) -- 巨水动规题,,被坑!!】
- HDU:1087 Super Jumping! Jumping! Jumping!(DP,LIS问题)
- hdu 1087 Super Jumping! Jumping! Jumping! dp
- hdu 1087 Super Jumping! Jumping! Jumping!
- HDU 1087 Super Jumping! Jumping! Jumping! 【简单dp思维题】
- HDU 1087 Super Jumping! Jumping! Jumping!
- HDU - 1087 Super Jumping! Jumping! Jumping!(DAG)
- 【HDU 杭电 1087 Super Jumping! Jumping! Jumping!】
- HDU 1087 Super Jumping! Jumping! Jumping!(最大上升子序列和)
- HDU 1087(Super Jumping! Jumping! Jumping!)不降子序列和最大
- HDU1087--Super Jumping! Jumping! Jumping! (DP动态规划最大上升子序列的和)
- HDU 1087 Super Jumping! Jumping! Jumping!
- HDU 1087 Super Jumping! Jumping! Jumping! ——LIS
- HDU 1087 Super Jumping! Jumping! Jumping!