题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1087
大致题意:只能从小的往大的跳 求走过的和最大。
code:
/**
http://acm.hdu.edu.cn/showproblem.php?pid=1087
*/
#include <cstdio>
#include <algorithm>
#define maxn 1010
#define ll long long
using namespace std;
ll a[maxn],b[maxn];
int n;
int main()
{
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
while(~scanf("%d",&n),n){
for(int i=0;i<n;i++){
scanf("%lld",&a[i]);
b[i]=a[i];
}
// dp[0]=0;
for(int i=1;i<n;i++){
for(int j=0;j<i;j++){
if(a[j]<a[i]) b[i]=max(b[i],b[j]+a[i]);
}
}
ll ans=0;
for(int i=0;i<n;i++)
ans = max(ans,b[i]);
printf("%lld\n",ans);
}
return 0;
}