Pagini recente » Cod sursa (job #1259174) | Cod sursa (job #2112301) | Cod sursa (job #2035438) | Cod sursa (job #1834994) | Cod sursa (job #316842)
Cod sursa(job #316842)
#include<stdio.h>
#define dim 30000
int a[dim],e[dim],poz[dim],n,o,i,max,k;
void afis(int o)
{
if(o)
afis(poz[o]),
printf("%d ",a[o]),o=poz[o];
}
void read()
{
scanf("%d",&n);
int i;
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
}
void solve()
{
for(i=1;i<=n;i++)
{
max=0;
for(k=i-1;k>=1;k--)
{
if(a[k]<a[i] && e[k] > max)
max=e[k],o=k;
}
e[i]=max+1;
poz[i]=o;
}
max=0;
for(i=1;i<=n;i++)
if(max<=e[i])
max=e[i],o=i;
printf("%d\n",max);
afis(o);
// for(max;max>=1;o=poz[o] ,max-- )
// printf("%d ",a[o]);
}
int main ()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
read();
solve();
return 0;
}