Cod sursa(job #179263)

Utilizator c_e_manuEmanuel Cinca c_e_manu Data 15 aprilie 2008 19:27:24
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<stdio.h>

long long n,i,j,a[11],poz[11],l[11],max,pozmax;
int main()
{	freopen("scmax.in","r",stdin);
	freopen("scmax.out","w",stdout);
	scanf("%lld",&n);
	for(i=1;i<=n;i++)
		scanf("%lld",&a[i]);
	l[n]=1;poz[n]=-1;
	for(i=n-1;i>0;i--)
	{       l[i]=1;poz[i]=-1;
		for(j=i+1;j<=n;j++)
		       if(a[i]<=a[j]&&l[i]<1+l[j])
			{	l[i]=1+l[j];
				poz[i]=j;
			}
	}
	max=1;pozmax=n;
	for(i=2;i<=n;i++)
		if(max<l[i])
		{	max=l[i];pozmax=i;}
	printf("%lld\n",max);
	i=pozmax;
	while(i!=-1)
	{	printf("%lld ",a[i]);
		i=poz[i];
	}
	return 0;
}