Pagini recente » Cod sursa (job #2220195) | Cod sursa (job #1868916) | Cod sursa (job #1001407) | Cod sursa (job #2185461) | Cod sursa (job #210268)
Cod sursa(job #210268)
#include<stdio.h>
long n,l,i,a[100001],q[100001],p[100001],f,j,kl,k,lp;
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%ld",&n);
l=0;
for(i=1;i<=n;++i)
{scanf("%ld",&a[i]);
f=0;
for(j=1;j<=l;++j)
if(a[i]<=q[j])
{f=1;
q[j]=a[i];
p[++lp]=j;
break;
}
if(a[i]!=q[l])
if(!f)
{
q[++l]=a[i];
p[++lp]=l;
}
}
printf("%ld\n",l);
for(kl=lp;kl;--kl)if(p[kl]==l)break;
for(i=1;i<=l;++i)
{
for(k=kl;k;--k)if(p[k]==i)break;
printf("%ld ",a[k]);
}
printf("\n");
return 0;
}