Pagini recente » Cod sursa (job #2791163) | Cod sursa (job #1476450) | Cod sursa (job #1592329) | Cod sursa (job #1387453) | Cod sursa (job #230036)
Cod sursa(job #230036)
#include<iostream>
#include<stdio.h>
long n;
long a[100001],l[100001];
FILE *f=fopen("scmax.in","r"),*g=fopen("scmax.out","w");
void main()
{
fscanf(f,"%ld",&n);
long i;
for(i=1;i<=n;i++)
fscanf(f,"%ld",&a[i]);
long k,max=0;
l[n]=1;
for(k=n-1;k>=1;k--)
{
max=0;
for(i=k+1;i<=n;i++)
if(a[k]<a[i]&&l[i]>max)
max=l[i];
l[k]=max+1;
}
long imax=n;
max=l[imax];
for(i=1;i<=n;i++)
if(l[i]>max)
{
max=l[i];
imax=i;
}
fprintf(g,"%ld\n%ld",max,a[imax]);
for(i=imax+1;i<=n;i++)
if(a[imax]<a[i]&&l[i]==max-1)
fprintf(g,"%ld",a[i]),max--;
}