记录编号 |
478420 |
评测结果 |
AAAAAAAAAA |
题目名称 |
最长上升子序列 |
最终得分 |
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(){;}