Cod sursa(job #423708)

Utilizator soare_cristian16Cristy93 soare_cristian16 Data 24 martie 2010 10:33:12
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
long v1[100001],v2[100001];
int n;
int main()
{
	int i,j,x,maxim,y;
	f>>n;
	for(i=1;i<=n;i++)
		f>>v1[i];
	v2[n]=1;
	for(i=n-1;i>=0;i--)
	{
		maxim=0;
		for(j=i+1;j<=n;j++)
		{
			if(v1[i]<=v1[j]&&maxim<v2[j])
			{
				maxim=v2[j];
				x=j;
			}
			v2[i]=v2[x]+1;
		}
	}
	maxim=0;
	for(i=1;i<=n;i++)
	{
		if(maxim<v2[i])
		{
			x=i;
			maxim=v2[i];
		}
	}
	g<<maxim<<endl<<v1[x]<<" ";
	y=v1[x];
	for(i=x+1;i<=n;i++)
	{
		if(y<=v1[i]&&v2[i]==maxim-1)
		{
			y=v1[x];
			g<<v1[i]<<" ";
			maxim--;
		}
	}
	return 0;
}