Cod sursa(job #678746)

Utilizator EternalHeroeEternal Heroe EternalHeroe Data 12 februarie 2012 12:34:45
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<stdio.h>
FILE *f = fopen("scmax.in","r");
FILE *g = fopen("scmax.out","w");

using namespace std;

int T[100002],v[100002],k;
void fct(int a){
	if(a!=0){
		fct(T[a]);
		fprintf(g,"%d ",v[a]);
	}
}


int i,j,q,L[100002],n,max,pmax;
int main(){
	fscanf(f,"%d\n",&n);
	for(i=1;i<=n;i++)
	{
		fscanf(f,"%d\n",&v[i]);
		max=0;
		for(j=i-1;j>=1;j--)
		{
			if(v[i]>v[j] && L[j]>max) {
				max=L[j];
				T[i] = j;
			}
		}
		L[i]=max+1;
		if(L[i]>q) {
			q=L[i];
			pmax = i;
		}
	}
	
	fprintf(g,"%d\n",q);
	fct(pmax);
	return 0;
}