Cod sursa(job #391991)

Utilizator RoCkyRomila RoCky Data 6 februarie 2010 16:49:37
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
std::ifstream in("scmax.in");
std::ofstream out("scmax.out");
int main ()
{
	int v[100],max[100],i,k,n,mx,lmax=0,poz;
	in>>n;
	for(i=0;i<n;i++)
		in>>v[i];
	max[n-1]=1;
	for(k=n-2;k>=0;k--)
	{
		mx=0;
		for(i=k+1;i<n;i++)
			if(v[k]<v[i]&&max[i]>mx)
				mx=max[i];
		max[k]=mx+1;
		if(max[k]>lmax)
		{
			lmax=max[k];
			poz=k;
		}
	}
	out<<lmax<<'\n';
	//reconstituire elemente
	out<<v[poz]<<' ';
	for(i=poz+1;i<n;i++)
		if(v[i]>v[poz]&&max[i]==lmax-1)
		{
			out<<v[i]<<' ';
			lmax--;
		}
	return 0;
}