Cod sursa(job #534645)

Utilizator mariusandreiMarius Lucian Andrei mariusandrei Data 15 februarie 2011 22:16:24
Problema Subsir 2 Scor 22
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<stdio.h>
#define N 5001
#define MAX_IM -1000000
using namespace std;

long v[N];
int best[N];
int sol[N];
int maxim=0;
int n;
void citire()
{
	freopen("subsir2.in","r",stdin);
	scanf("%d",&n);
	for (int i=1;i<=n;i++)
		scanf("%ld",&v[i]);
}

void vector()
{
	maxim=0;
	best[1]=1;
	for(int i=2;i<=n;i++)
	{
		int max=MAX_IM;
		for(int j=1;j<=i;j++)
		{
			if(max<best[j]&&v[j]<v[i])
				max=best[j];
		}
		best[i]=max+1;
		if(maxim<best[i])
			maxim=best[i];		
	}
}
void afisare()
{
	freopen("subsir2.out","w",stdout);
	printf("%d\n",maxim);
	for(int i=1;i<=maxim;i++)
		printf("%d ",sol[i]);
	
	printf("\n");
	/*
	for(int i=1;i<=n;i++)
		printf("%d ",best[i]);
	*/
	
}
int main()
{
	citire();
	vector();
	afisare();
	return 0;
}