Pagini recente » Cod sursa (job #2719300) | Cod sursa (job #3250380) | Cod sursa (job #2414180) | Cod sursa (job #746214) | Cod sursa (job #524583)
Cod sursa(job #524583)
#include<cstdio>
#include<iostream>
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
int n,v[100000];
scanf("%d",&n);
for(int i=0;i<n;++i)
{
scanf("%d",&v[i]);
}
int lmax[100000],poz[100000],max=0,pozmax;
memset(lmax,0,sizeof(lmax));
memset(poz,0xff,sizeof(poz));
for(int i=n-1;i>=0;--i)
{
lmax[i]=1;
for(int j=i+1;j<n;++j)
{
if(v[i]<v[j] && lmax[j]+1>lmax[i] )
{
lmax[i]=lmax[j]+1;
poz[i]=j;
}
}
if(max<lmax[i])
max=lmax[i],pozmax=i;
}
printf("%d\n",max);
for(int i=pozmax;i!=-1;i=poz[i])
printf("%d ",v[i]);
printf("\n");
return 0;
}