Cod sursa(job #610093)

Utilizator stefaniaaStefania Aungurencei stefaniaa Data 24 august 2011 18:53:35
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<fstream.h>
#include<stdio.h>
ifstream f("scmax.in");
ofstream g("scmax.out");
long i,poz,n,j,max;
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;
	for (i=n-1;i>0;i--)
	{	max=0;
		poz=0;
		for (j=i+1;j<=n;j++)
		{	if (l[j]>max && a[j]>a[i]) 
			{	max=l[j];
				poz=j;
			}
		}
		l[i]=l[poz]+1;
		s[i]=poz;
	}
	max=0;
	poz=0;
	for (i=1;i<=n;i++)
		if (l[i]>max) { max=l[i]; poz=i; }
	g<<max<<'\n';
	while (s[poz]!=poz)
	{	g<<a[poz]<<' '; poz=s[poz];
	}		
	g<<'\n';
	f.close();
	g.close();
	return 0;
}