Cod sursa(job #717765)

Utilizator CameleonulVasilescu Ioan Cameleonul Data 20 martie 2012 10:49:47
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
long i,n,v[100000];
void citire()
{
	f>>n;
	for(i=1;i<=n;i++)
		f>>v[i];
}


int main()
{
	unsigned k,max=0,t;
	long sir[100000];
	citire();
	sir[n]=1;
	for(k=n-1;k>=1;k--)
	{
		max=0;
		for(i=k+1;i<=n;i++)
			if(v[i]>v[k]&&sir[i]>max)
				max=sir[i];
			sir[k]=1+max;
	}
	max=sir[1];t=1;
	for(i=1;i<=n;i++)
		if(max<sir[i]) max=sir[i], t=i;
	g<<max<<'\n';
	g<<v[t]<<' ';
	for(i=t+1;i<=n;i++)
		if(v[i]>v[t]&&max-1==sir[i])
		{
			g<<v[i]<<' ';
			max--;
		}
	
	
	f.close();
	g.close();
}