Cod sursa(job #385197)
Utilizator | Data | 22 ianuarie 2010 11:18:02 | |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 65 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include<stdio.h>
int n,a,maxg,c[100003];
int main ()
{
int i,j;
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a);
for(j=maxg;j>=1;j--)
if(c[j]<a)
break;
if(c[j+1]>a || j==maxg)
c[j+1]=a;
if(j==maxg)
maxg++;
}
printf("%d\n",maxg);
for(i=1;i<=maxg;i++)
printf("%d ",c[i]);
printf("\n");
return 0;
}