Pagini recente » Cod sursa (job #1313708) | Cod sursa (job #1313722) | Cod sursa (job #1301718) | Cod sursa (job #1264573) | Cod sursa (job #920117)
Cod sursa(job #920117)
#include <stdio.h>
#define NMAX 100000
using namespace std;
FILE *f=fopen("scmax.in","r");
FILE *g=fopen("scmax.out","w");
int i,N,a[NMAX],l[NMAX];
int main()
{
fscanf(f,"%d",&N);
for(i=1;i<=N;i++)
fscanf(f,"%d",&a[i]);
l[N]=1; int m,Lmax(1);
for(i=N-1;i>=1;i--)
{
m=0;
for(int j=i+1;j<=N;j++)
if(a[i]<a[j]&&l[j]>m)
m=l[j];
l[i]=m+1;
if(l[i]>Lmax) Lmax=l[i];
}
fprintf(g,"%d\n",Lmax);
i=1;
while(Lmax)
{
while(l[i]!=Lmax)
i++;
fprintf(g,"%d ",a[i]);
Lmax--;
}
return 0;
}