Cod sursa(job #2001159)

Utilizator Vlad3108Tir Vlad Ioan Vlad3108 Data 15 iulie 2017 20:21:08
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <bits/stdc++.h>
#define LMAX 1000
using namespace std;
int v[LMAX],Max[LMAX],T[LMAX];
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;++i)
		cin>>v[i];
	for(int i=1;i<=n+1;++i)
        Max[i]=INT_MAX;
	for(int i=1;i<=n;++i){
        int poz=lower_bound(Max+1,Max+n+2,v[i])-Max;
		Max[poz]=v[i];
		T[poz]=i;
	}
	for(int i=1;i<=n+1;++i)
		if(Max[i]==INT_MAX){
			cout<<i-1<<"\n";
			for(int j=1;j<=i-1;++j) cout<<v[T[j]]<<" ";
			return 0;
		}
}