Cod sursa(job #785200)

Utilizator andreeainfo_dAndreea Dutulescu andreeainfo_d Data 8 septembrie 2012 07:38:19
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <cstdio>
#define vv 100000
using namespace std;
int max,l[vv],n,a[vv];
void subsir()
{
	l[n-1]=1;
	max=1;
	for (int i=n-2; i>=0; i--)
	{
		for (int j=i+1; j<n; j++)
			if (a[i]<a[j])
		if (l[j]>l[i])
		l[i]=l[j];
		l[i]++;
		if (l[i]>max)
		max=l[i];
	}
}
void afisare()
{
	for (int i=0; i<n; i++)
		if (l[i]==max)
		{
			printf("%d ",a[i]);
			max--;
		}
		else if (l[i]==0)break;
}
int main()
{
	freopen("scmax.out","w",stdout);
	freopen("scmax.in","r",stdin);
	scanf("%d",&n);
	for (int i=0;i<n;i++)
	scanf("%d",&a[i]);
	subsir();
	printf("%d\n",max);
	afisare();
	return 0;
}