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