Cod sursa(job #2451910)

Utilizator mihai2003LLL LLL mihai2003 Data 28 august 2019 18:32:15
Problema Subsir crescator maximal Scor 55
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

std::ifstream in("scmax.in");
std::ofstream out("scmax.out");
std::vector<int>v;
std::vector<int>sol;

int main(){
    int n;
    in>>n;
    for(int i=1,aux=0;i<=n;i++)
        in>>aux,v.push_back(aux);
    for(int i=0;i<v.size();i++)
        if(sol.empty()|| v[i]>=sol.back())
            sol.push_back(v[i]);
        else{
            auto it=std::upper_bound(sol.begin(),sol.end(),v[i]);
            *it=v[i];
        }
    out<<sol.size()<<'\n';
    for(int &x:sol)
        out<<x<<" ";
    return 0;
}