Cod sursa(job #1121777)

Utilizator stoicastefanstoica stefan stoicastefan Data 25 februarie 2014 14:00:35
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
using namespace std;
int l[10001],v[10001];
int main()
{
	long long n,i,max,k,t;
	ifstream f("scmax.in");
	ofstream g("scmax.out");
	f>>n;
	for(i=1;i<=n;i++)
		f>>v[i];
	l[n]=1;
	for(k=n-1;k>=1;k--)
	{
		max=0;
		for(i=k+1;i<=n;i++)
			if(v[i]>v[k]&&l[i]>max)
				max=l[i];
		l[k]=1+max;
	}
	max=l[1];t=1;
	for(k=1;k<=n;k++)
		if(l[k]>max)
		{
			max=l[k];t=k;
		}
	g<<max<<'\n'<<v[t];
	for(i=t+1;i<=n;i++)
		if(v[i]>v[t]&&l[i]==max-1)
		{
			g<<" "<<v[i];
			max--;
		}
	f.close();g.close();
	return 0;
}