Cod sursa(job #446140)

Utilizator taseTanase Alexandru tase Data 25 aprilie 2010 10:38:57
Problema Subsir crescator maximal Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<stdio.h>
int main()
{
	freopen("scmax.in","r",stdin);
	freopen("scmax.out","w",stdout);
	int n,i,j,max,lung[100005],a[100005],b[100005]={0},k;
	scanf("%d",&n);
	for(i=1;i<=n;++i)
		scanf("%d",&a[i]);
	lung[1]=1;
	for(i=2;i<=n;++i)
	{
		max=0;
		for(j=1;j<i;++j)
		{
			if(a[j]>=a[i]) continue;
			if(lung[j]>max) 
			{
				max=lung[j];
				k=j;
			}
		}
		lung[i]=max+1;
		b[lung[i]]=j;
	}
	printf("%d\n ",lung[n]);
	for(i=1;i<=lung[n];++i)
		printf("%d ",a[b[i]]);
	return 0;
}