记录编号 388356 评测结果 AAAAAAAAAA
题目名称 最长上升子序列 最终得分 100
用户昵称 GravatarFFF团 是否通过 通过
代码语言 C++ 运行时间 0.006 s
提交时间 2017-03-28 20:52:26 内存使用 0.32 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int dp[1005],a[1005];
int n;
void init(){
	cin>>n;
	fill(dp,dp+n+1,0x7fffffff);
	for(int i=0;i<n;i++)cin>>a[i];
}
void work(){
	for(int i=0;i<n;i++)
		*lower_bound(dp,dp+n,a[i])=a[i];
}
void print(){
	for(int i=n;i>=0;i--)if(dp[i]!=0x7fffffff){
		cout<<i+1;
		return ;
	}
}
int main(){
	freopen("lis1.in","r",stdin);
	freopen("lis1.out","w",stdout);
	init();
	work();
	print();
	fclose(stdin);
	fclose(stdout);
	return 0;
}