记录编号 |
258889 |
评测结果 |
AAAAAAAAAA |
题目名称 |
最长上升子序列 |
最终得分 |
100 |
用户昵称 |
NewBee |
是否通过 |
通过 |
代码语言 |
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));
}