Pagini recente » Cod sursa (job #2379694) | Cod sursa (job #2794796) | Cod sursa (job #1250333) | Cod sursa (job #1391909) | Cod sursa (job #315653)
Cod sursa(job #315653)
# include <stdio.h>
int a[100005],s[100005],l[100005],i,j,n,x,ok,k,p,c[100005],max;
int main ()
{
freopen ("scmax.in","r",stdin);
freopen ("scmax.out","w",stdout);
scanf ("%i",&n);
for (i=1;i<=n;i++)
scanf ("%i",&a[i]);
k=1;
l[1]=1;
s[1]=a[1];
for (i=2;i<=n;i++)
{
x=a[i];
ok=0;
for (j=1;j<=k;j++)
if (s[j]>=x)
{
s[j]=x;
ok=1;
l[i]=j;
break;
}
if (ok==0)
{
k++;
s[k]=x;
l[i]=k;
}
}
max=0;
for (i=1;i<=n;i++)
if (max<l[i])
{
max=l[i];
p=i;
}
printf ("%i",max);
k=max;
for (i=p;i>=1;i--)
if (l[i]==k)
{
k--;
c[l[i]]=a[i];
}
printf ("\n");
for (i=1;i<=max;i++)
printf ("%i ",c[i]);
return 0;
}