Cod sursa(job #183924)

Utilizator gigi_becaliGigi Becali gigi_becali Data 22 aprilie 2008 19:00:52
Problema Subsir crescator maximal Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
using namespace std;
#include<iostream>
#include <fstream>
int v[1001], l[1001];

int main()
{
	int n,i,k,max,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(i=1;i<=n;i++)
		if(l[i]>max) 
		{
			max=l[i];
			t=i;
		}
	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--;
		}
	return 0;
}