Mai intai trebuie sa te autentifici.

Cod sursa(job #529890)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 6 februarie 2011 14:15:55
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<cstdio>
using namespace std;

int a[100005],b[100005];

int main ()
{
	int n,i,j,max,best=0;
	freopen("scmax.in","r",stdin);
	freopen("scmax.out","w",stdout);
	scanf("%d",&n);
	for (i=1; i<=n; i++)
		scanf("%d",&a[i]);
	for (i=n; i>=1; i--)
	{
		max=0;
		for (j=i+1; j<=n; j++)
			if (a[i]<a[j] && b[j]>max) max=b[j];
		b[i]=max+1;
		if (b[i]>best) best=b[i];
	}
	printf("%d\n",best);
	for (i=1; i<=n; i++, best)
		if (b[i]==best)
		{
			printf("%d ",a[i]);
			best--;
		}
	return 0;
}