本文主要是介绍最大上升子序列和【北京大学】★,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接
#include<stdio.h>
#include<memory.h>
using namespace std;
int A[1005];
int dp[1005];int main(){int n;while(scanf("%d",&n)!=EOF){memset(A,0,sizeof(A));memset(dp,0,sizeof(dp));for(int i=0;i<n;i++){scanf("%d",A+i);} //接收数据 for(int i=0;i<n;i++){dp[i]=A[i];for(int j=0;j<i;j++){if(A[i] > A[j] && dp[i] <(dp[j]+A[i])) dp[i]=dp[j]+A[i];}}int maxim=-1; for(int i=0;i<n;i++)if(maxim<dp[i])maxim=dp[i];printf("%d\n",maxim);
}return 0;
}
这篇关于最大上升子序列和【北京大学】★的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!