Cod sursa(job #628461)

Utilizator Codrutzu15tapu codrut Codrutzu15 Data 1 noiembrie 2011 14:31:56
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<fstream.h>
int i,j,n,k,a[20],p[20],L[20];
ifstream f("scmax.in");
ofstream g("scmax.out");
void cit()
{f>>n;
 for(i=1;i<=n;i++) f>>a[i];
 f.close();
}
void dinam()
{L[n]=1; p[n]=n;
 for(i=n-1;i>=1;i--)
	{L[i]=1; p[i]=i;
     for(j=i+1;j<=n;j++)
		if(a[i]<=a[j] && L[i]<=L[j])
			{L[i]=L[j]+1; p[i]=j;}}
}
void cauta()
{int max=-1;
 for(i=1;i<=n;i++)
	if(max<L[i]) {max=L[i]; k=1;}
}
void afiseaza()
{g<<L[k]<<'\n';
 for(i=1,j=k;i<=L[k];i++,j=p[j]) g<<a[j]<<' ';
}
int main()
{cit();
 dinam();
 cauta();
 afiseaza();
 return 0;
}