1. 程式人生 > >hdu1087 Super Jumping! Jumping! Jumping!

hdu1087 Super Jumping! Jumping! Jumping!

簡單動態規劃,從一串數字中找出最大升序數列的和。

#include<iostream>
using namespace std;
int a[1005],b[1005];
int main()
{
    int n;
    while(cin>>n)
    {
    if(n==0) break;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        b[i]=a[i];
        for(int j=0;j<i;j++)
        {
            if(a[i]>a[j]&&b[j]+a[i]>b[i])
                b[i]=b[j]+a[i];
        }
    }
    int res=0;
    for(int i=0;i<n;i++)
    {
        if(res<b[i]) res=b[i];
    }
    cout<<res<<endl;

    }
}