Cod sursa(job #688389)

Utilizator stefaniaaStefania Aungurencei stefaniaa Data 23 februarie 2012 15:37:50
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream.h>
#include<stdio.h>
ofstream g("scmax.out");
long i,poz,n,j,max1,max2,k;
long a[100003],l[100003],s[100003];
int main()
{
	FILE * stefi;
	stefi=fopen("scmax.in","r");
	fscanf(stefi,"%d",&n);
	for (i=1;i<=n;i++)
		fscanf(stefi,"%d",&a[i]);
	l[n]=1; max2=0;
	for (i=n-1;i>0;i--)
	{   max1=0;
		poz=0;
		for (j=i+1;j<=n;j++)
		{   if (l[j]>max1 && a[j]>a[i])
			{   max1=l[j];
				poz=j;
			}
		}
		l[i]=l[poz]+1;
		s[i]=poz;
		if (l[i]>max2) 
		{
			max2=l[i];
			k=i;
		}
	}
	g<<max2<<'\n';
	while (s[k]!=k)
	{
		g<<a[k]<<' '; k=s[k];
	}      
	g<<'\n';
	g.close();
	return 0;
}