Cod sursa(job #717748)

Utilizator CameleonulVasilescu Ioan Cameleonul Data 20 martie 2012 10:41:40
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int i,n,v[100];
void citire(int v[], int &n)
{
	f>>n;
	for(i=1;i<=n;i++)
		f>>v[i];
}


int main()
{
	unsigned min,k,c,sir[100],max=0,nr,ok=1,t;
	citire(v,n);
	sir[n]=1;
	for(k=n-1;k>=1;k--)
	{
		max=0;
		for(i=k+1;i<=n;i++)
			if(v[i]>v[k]&&sir[i]>max)
			{
				max=sir[i];
			}
			sir[k]=1+max;
	}
	max=sir[1];
	for(i=1;i<=n;i++)
		if(max<sir[i]) max=sir[i], t=i;
	g<<max<<'\n';
	g<<v[t]<<' ';
	for(i=t+1;i<=n;i++)
		if(v[i]>v[t]&&max-1==sir[i])
		{
			g<<v[i]<<' ';
			max--;
		}
	
	
	f.close();
	g.close();
}