Cod sursa(job #247254)

Utilizator gabor_oliviu1991gaboru corupt gabor_oliviu1991 Data 22 ianuarie 2009 17:49:59
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream.h>

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

	int a[100000],n,i,k,max,l[100000];

	f>>n;
	for(i=1;i<=n;i++)
		f>>a[i];

	l[n]=1;
	for(k=n-1;k>=1;k--)
	{
		max=0;
		for(i=k;i<=n;i++)
			if(l[i]>max&&a[i]>a[k])
				max=l[i];
		l[k]=max+1;
	}

	max=l[1];
	k=1;
	for(i=2;i<=n;i++)
		if(l[i]>max)
			{
			max=l[i];
			k=i;
			}
	g<<max<<"\n"<<a[k]<<" ";
	for(i=k+1;i<=n;i++)
		if(a[i]>=a[k]&&max-1==l[i])
			{
			g<<a[i]<<" ";
			max--;
			}
	return 0;
}