您的位置:首页 > 其它

HDU1087----Super Jumping! Jumping! Jumping!

2016-02-20 11:05 232 查看
很简单的一个DP,dp数组记录从前往后的最大值,用a数组进行比较。
#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<queue>
#include<vector>
#include<string.h>
#define eps 1e-5
#define inf 0x7fffffff
#pragma comment(linker,"/STACK:102400000,102400000")
#define ll __int64
using namespace std;
int main()
{
int n;
int a[1010],dp[1010];
while(scanf("%d",&n)&&n)
{
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
dp[i]=a[i];
}
for(int i=1;i<n;i++)
{
for(int j=0;j<i;j++){
if(a[i]>a[j])
dp[i]=max(dp[j]+a[i],dp[i]);
}
}
int max1=0;
for(int i=0;i<n;i++)
max1=max(max1,dp[i]);
printf("%d\n",max1);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: