记录编号 258889 评测结果 AAAAAAAAAA
题目名称 最长上升子序列 最终得分 100
用户昵称 GravatarNewBee 是否通过 通过
代码语言 C++ 运行时间 0.012 s
提交时间 2016-05-07 16:35:11 内存使用 0.29 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#define Cu fclose(stdin);fclose(stdout);return 0;
#define Begin freopen("lis1.in","r",stdin);freopen("lis1.out","w",stdout);chul();Cu;
//designed by New_Beeؼ 
using namespace std;
const int maxn=1110;
int a[maxn];
int ans=0;int t=0;
void mem();
void chul();
void adds(int,int,int);
int main(){
	Begin;
}
void chul(){
	mem();
	int n;scanf("%d",&n);
	for(int i=1;i<=n;i++){
		int tim;
		scanf("%d",&tim);
		adds(0,t,tim);
	}
	printf("%d",ans);
}
void adds(int si,int ti,int x){
	while(si<=ti){
		int mid=(si+ti)>>1;
		if(a[mid]>=x)ti=mid-1;
		else si=mid+1;
	}
	if(si>ans)ans=si;if(si>t)t++;
	a[si]=x;
}
void mem(){
	memset(a,-1,sizeof(a));
}