您的位置:首页 > 其它

HDU 1087 Super Jumping! Jumping! Jumping!

2014-07-23 22:57 405 查看
求递增子序列的最大和,没什么好说的。

粗暴1A,嘎嘎!

//#define LOCAL
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

int a[1010];
int dp[1010];

int main(void)
{
#ifdef LOCAL
freopen("1087in.txt", "r", stdin);
#endif

int n;
while(scanf("%d", &n) && n)
{
int i;
for(i = 0; i < n; ++i)
{
scanf("%d", &a[i]);
dp[i] = a[i];
}

for(i = 1; i < n; ++i)
for(int j = 0; j < i; ++j)
{
if(a[j] < a[i])
dp[i] = max(dp[i], dp[j] + a[i]);
}

int ans = a[0];
for(i = 1; i < n; ++i)
ans = max(ans, dp[i]);
printf("%d\n", ans);
}
return 0;
}


代码君
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: