Cod sursa(job #671904)

Utilizator FlameingoAiordachioaei Marius Flameingo Data 1 februarie 2012 07:19:25
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream>
using namespace std;
int main()
{
	ifstream cin("scmax.in");ofstream cout("scmax.out");
	int lis[100001],i,n,m,k=1,x[100001],v[100001],j;
	cin>>n;
	for(i=1;i<=n;i++)
		cin>>x[i];
	lis[n]=1;
	for(i=n-1;i>=1;i--)
	{
		m=0;
		for(j=i+1;j<=n;j++)
			if(m<lis[j]&&x[i]<x[j])
			{
				m=lis[j];
			}
		lis[i]=m+1;
		if(lis[i]>lis[i-1])
			v[k]=x[i];
		k++;
	}
	m=lis[1];
	for(i=2;i<=n;i++)
		if(m<lis[i])
			m=lis[i];
	cout<<m<<"\n";
	for(i=1;i<=k;i++)
		cout<<v[i]<<" ";
}