Cod sursa(job #447678)

Utilizator de3de3Ilinca Diana Andreea de3de3 Data 30 aprilie 2010 08:59:26
Problema Subsir crescator maximal Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<fstream.h>
ifstream f("scmax.in");
ofstream g("scmax.out");
int max, i, j, a[100010], v[100010], p, n, t[100010];
void afisare(int x){
	if(t[x]!=0)
		afisare(t[x]);
	g<<a[x]<<" ";
}
int main(){
	f>>n;
	for(i=1;i<=n;i++)
		f>>a[i];
	for(i=1;i<=n;i++){
		max=0;
		for(j=1;j<i;j++)
			if(a[i]>a[j]&&v[j]>max){
				max=v[j];
				p=j;
			}
			v[i]=max+1;
			t[i]=p;
	}
	max=v[1];
	p=1;
	for(i=1;i<=n;i++)
		if(v[i]>max){
			max=v[i];
			p=i;
		}
	g<<max<<'\n';
	afisare(p);
	f.close();
	g.close();
	return 0;
}