Cod sursa(job #569258)

Utilizator @LynTirla Alin @Lyn Data 1 aprilie 2011 11:00:15
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<fstream>
using namespace std;
long sir[100001],sol[100001],sirsol[100001];
int main()
{int n,i,d;
long solmax=0;
ifstream f1("scmax.in");
ofstream f2("scmax.out");
f1>>n;
for(i=1;i<=n;i++)
	{f1>>sir[i];
	for(d=i-1;d>=1;d--)
		if((sir[d]<sir[i])&&(sol[i]<sol[d])) 
		{sol[i]=sol[d];
		break;
		}
	sol[i]++;
	solmax=max(solmax,sol[i]);
	}
f2<<solmax<<'\n';
int z=0;
for(i=n;solmax;i--)
{if(sol[i]==solmax) 
{z++;
sirsol[z]=sir[i];
solmax--;


}

}

for(i=z;i>=1;i--)
	f2<<sirsol[i]<<" ";




return 0;
}