Pagini recente » Cod sursa (job #2172086) | Cod sursa (job #3232398) | Cod sursa (job #3289143) | Cod sursa (job #2537191) | Cod sursa (job #2572157)
//#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
const int MAX=100000;
int a[MAX],n,v[MAX],maxi=0,legh=1;
void beolvas(){
f>>n;
for(int i=0;i<n;i++){
f>>a[i];
}
}
int main(){
beolvas();
v[n-1]=1;
for(int i=n-2;i>=0;i--){
maxi=0;
for(int j=i+1;j<n;j++){
if(v[j]>maxi&&a[i]<a[j])maxi=v[j];
}
v[i]=maxi+1;
if(maxi+1>legh)legh=maxi+1;
}
g<<legh<<'\n';
for(int i=0;i<n;i++){
if(v[i]==legh){
legh--;
g<<a[i]<<' ';
}
}
g<<'\n';
return 0;
}