| 记录编号 | 
        478420 | 
        评测结果 | 
        AAAAAAAAAA | 
    
    
        | 题目名称 | 
        1398.最长上升子序列 | 
        最终得分 | 
        100 | 
            
    
    
        | 用户昵称 | 
         水 | 
        是否通过 | 
        通过 | 
    
    
        | 代码语言 | 
        C++ | 
        运行时间 | 
        0.000 s  | 
    
    
        | 提交时间 | 
        2017-12-11 15:05:29 | 
        内存使用 | 
        0.00 MiB  | 
        
    
    
    
    		显示代码纯文本
		
		#include<cstdio>
#include<algorithm>
using namespace std;
bool flags;char ch;
int read(int &x)
{flags=false;
	while(ch=getchar(),ch<48 || 57<ch)if(ch=='-')flags=true;
	x=ch^'0';
	while(ch=getchar(),48<=ch && ch<=57)x=x*10+(ch^'0');
	if(flags)return -x;
	else return x;
}
int n,it=0,a,s[1002];
int shui()
{
	freopen ("lis1.in","r",stdin);
	freopen ("lis1.out","w",stdout);
	read(n);
	s[0]=-1;
	for(int i=1;i<=n;i++)
	{
		read(a);
		if(a>s[it])
		{
			s[++it]=a;
			continue;
		}
		for(int j=it;j>=0;j--)
		{
			if(s[j]<a)
			{
				s[j+1]=a;
				break;
			}
		}
	}
	//for(int i=1;i<=it;i++)printf("%d ",s[i]);
	printf("%d\n",it);
	return 0;
}
int work=shui();
int main(){;}