Cod sursa(job #1842563)

Utilizator igroitaGroita Igor igroita Data 7 ianuarie 2017 10:58:30
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<fstream>

using namespace std;

ifstream cin("scmax.in");
ofstream cout("scmax.out");
 int n, v[100010], pred[100010], imax=0;
 long long a[100010];
 
void write(int i){
	if(pred[i]+1) write(pred[i]);
	cout<<a[i]<<"  ";
}

int main(){
	cin>>n;
	for(int i=1; i<=n; ++i){
		cin>>a[i];	pred[i]=-1; v[i]=1;
		for(int j=1; j<i; ++j){
			if(a[j]<a[i] && v[j]+1>v[i]){
				v[i]=v[j]+1; pred[i]=j;
			}
		}
		if(v[imax]<v[i]) imax=i;
	}

	cout<<v[imax]<<"\n";
	write(imax);



	return 0;
}