Pagini recente » Cod sursa (job #2534680) | Cod sursa (job #2492461) | Cod sursa (job #798732) | Cod sursa (job #2492087) | Cod sursa (job #869837)
Cod sursa(job #869837)
#include<cstdio>
#include<algorithm>
using namespace std;
int v[100001],l[100001];
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
int n,i,nr,poz;
scanf("%d",&n);
for(i=1;i<=n;++i)
scanf("%d",&v[i]);
nr=1;
l[1]=v[1];
for(i=2;i<=n;++i)
{
poz=lower_bound(l+1,l+nr+1,v[i])-l-1;
l[poz+1]=v[i];
if(poz==nr)
++nr;
}
printf("%d\n",nr);
for(i=1;i<=nr;++i)
printf("%d ",l[i]);
return 0;
}