Pagini recente » Cod sursa (job #269351) | Cod sursa (job #1961207) | Cod sursa (job #2489508) | Cod sursa (job #1542032) | Cod sursa (job #874642)
Cod sursa(job #874642)
#include<stdio.h>
int main()
{
int n,a[100001],lmax,j,i,b[100001],vmax,k,p[100001],q,pmax;
freopen("scmax.in","rt",stdin);
freopen("scmax.out","wt",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
lmax=0;
for(i=n;i>=1;i--)
{
vmax=0;
q=0;
for(j=i+1;j<=n;j++)
if(a[i]<a[j] && b[j]>vmax)
{
vmax=b[j];
q=j;
}
b[i]=1+vmax;
p[i]=q;
if(b[i]>lmax)
{
lmax=b[i];
pmax=i;
}
}
printf("%d\n",lmax);
for(i=pmax;i;i=p[i])
printf("%d ",a[i]);
return 0;
}