dp基础7-- [HDU-1087] [Problem E]

来源:互联网 发布:JavaScript post 编辑:程序博客网 时间:2024/06/07 18:16

求最大递增子序列和

#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<queue>#include<algorithm>#include<iostream>#include<set>#include<iomanip>using namespace std;int n,m,k;int mmax;int a[111111];int tu[1130][1120];int num[1120][1120];//int numint tx[]={0,1,0,-1};int ty[]={1,0,-1,0};//求最大递增子序列和int main(){    int a[9000];    while(cin>>n)    {        if(n==0)break;        for(int i=1;i<=n;i++)            scanf("%d",&a[i]);        int dp[9999];        for(int i=1;i<=n;i++)            dp[i] = a[i];        for(int i=1;i<=n;i++)        {            for(int j=1;j<i;j++)            {                if(a[i]>a[j])                {                    dp[i] = max(dp[i],dp[j]+a[i]);                }            }        }       cout<<*max_element(dp+1,dp+1+n)<<endl;    }     return 0;}