Pagini recente » Cod sursa (job #914922) | Cod sursa (job #1345998) | Cod sursa (job #2356248) | Cod sursa (job #1476411) | Cod sursa (job #768684)
Cod sursa(job #768684)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
ifstream cinr ("scmax.in");
ofstream cour ("scmax.out");
int n,k;
cinr >> n;
int a[n+1];
vector<int> v(1);
cinr >> k;
v.push_back(k);
a[1]=k;
for(int j=1; j<n; j++){
cinr >> k;
if(k>v[v.size()-1]){ v.push_back(k); a[v.size()-1]=k; }
for(int i=v.size()-2; i>0; i--){
if(v[i]<k){
v[i+1]=min(v[i+1], k);
a[i+1]=v[i+1];
}
}
if(k<v[1]){ v[1]=k; a[1]=k; }
}
cour << v.size()-1 << "\n";
for(int i=1; i<v.size(); i++) cour << a[i] << " ";
//cin.ignore(2);
return 0;
}