Pagini recente » Cod sursa (job #1686886) | Cod sursa (job #2948536) | Cod sursa (job #1575678) | Cod sursa (job #3290376) | Cod sursa (job #243347)
Cod sursa(job #243347)
#include <stdio.h>
long v[1002],n,l[1002],max=0,t,j;
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
long i;
scanf("%ld",&n);
for (i=1;i<=n;i++)
scanf("%ld",&v[i]);
l[n]=1;
for (i=n-1;i>=1;i--)
{
max=0;
for (j=i+1;j<=n;j++)
if (v[j]>v[i]&&l[j]>max)
max=l[j];
l[i]=1+max;
}
max=0;
for (i=n;i>=1;i--)
if (l[i]>max) {
max=l[i];
t=i;
}
printf("%ld\n%ld ",max,v[t]);
for (j=t+1;j<=n;j++)
if (v[j]>v[t]&&l[j]==max-1)
{
printf("%ld ",v[j]);
max--;
}
return 0;
}