Cod sursa(job #900114)

Utilizator SerbanAlexandru9Serban Alexandru SerbanAlexandru9 Data 28 februarie 2013 17:45:00
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<fstream.h>
int x[100],n,l[100],i;
void cit(){
	ifstream fin("scmax.in");
	fin>>n;
	int i;
	for(i=1;i<=n;i++)
		fin>>x[i];
	fin.close();
}
void pd(){
	int i,j,max;
	l[n]=1;
	for(i=n-1;i>0;i--){
		max=0;
		for(j=i+1;j<=n;j++)
			if(x[j]>x[i]&&l[j]>max)
				max=l[j];
		l[i]=max+1;
	}
}
void afis(){
	int i,j,poz,max=0,max1;
	ofstream fout("scmax.out");
	for(i=1;i<=n;i++)
		if(l[i]>max){
			max=l[i];
			poz=i;
		}
		max1=max;
	for(i=1;i<=max1;i++){
		fout<<x[poz]<<" ";
		max--;
		for(j=poz+1;j<=n;j++)
			if(l[j]==max&&x[j]>x[poz])
				break;
		poz=j;
	}
fout.close();
}
int main(){
	cit();
	pd();
	afis();
	return 0;
}