Cod sursa(job #693943)

Utilizator TheOnlyExceptionBarna Monica TheOnlyException Data 27 februarie 2012 17:49:00
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>

using namespace std;

ifstream f("scmax.in");
ofstream g("scmax.out");

int n,v[100003],i,loc[100003],j,nr;

void citire()
{
	f >> n;
	for(i=1;i<=n;i++)
		f >> v[i];
}

void locul()
{
	loc[n]=1;
	for(i=n;i>=1;i--)
		for(j=i-1;j>=1;j--)
		{
			if(v[j]<v[i])
				loc[j]=loc[i]+1;
			if(loc[j]>nr)
				nr=loc[j];
		}
	g << nr << "\n";
}

void subsir()
{
	for(i=1;i<=n;i++)
	{
		if(loc[i]==nr)
		{
			g << v[i] << " ";
			nr=nr-1;
		}
		if(nr==0) break;
	}
}

int main()
{
	citire();
	locul();
	subsir();
	return 0;
}