比赛 动态规划练习2 评测结果 AAAAAWAWWW
题目名称 最长上升子序列 最终得分 60
用户昵称 liuyu 运行时间 0.006 s
代码语言 C++ 内存使用 0.32 MiB
提交时间 2017-03-28 19:45:00
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int n,f[1020],a[1020];
int main()
{
	freopen("lis1.in","r",stdin);
	freopen("lis1.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	 scanf("%d",&a[i]);
	f[0]=0;
	int mx=0;
	for(int i=1;i<=n;i++)
	  {
	  	int Max=0;
	  	for(int j=1;j<i;j++)
	  	
	  	if(a[i]>=a[j]){
	  		Max=max(Max,f[j]);
		  }
		f[i]=Max+1;
		mx=max(mx,f[i]);
	  }
	printf("%d",mx);
	return 0;
	
}