Pagini recente » Cod sursa (job #676520) | Cod sursa (job #552457) | Cod sursa (job #2470846) | Cod sursa (job #3140006) | Cod sursa (job #243343)
Cod sursa(job #243343)
#include <stdio.h>
long v[100002],n,l[100002],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--)
{
for (j=i+1;j<=n;j++)
if (v[i]<v[j]&&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;
}