Pagini recente » Cod sursa (job #2100667) | Monitorul de evaluare | Cod sursa (job #2395128) | Cod sursa (job #2699460) | Cod sursa (job #2001159)
#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;
}
}