Cod sursa(job #3282450)

Utilizator ireallydontcareidontcare ireallydontcare Data 5 martie 2025 18:18:19
Problema Subsir crescator maximal Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>

using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");

vector<int> subir(vector<int>& v) {
    vector<int> subsir;

    for (int numar : v) {
        auto iterator = lower_bound(subsir.begin(), subsir.end(), numar);

        if (iterator == subsir.end()) {
            subsir.push_back(numar);
        } else {
            *iterator = numar;
        }
    }

    return subsir;
}

int main() {
    int n;
    fin >> n;
    vector<int> v(n);

    for (int i = 0; i < n; i ++) {
        fin >> v[i];
    }

    vector<int> rez = subir(v);
    fout << rez.size() << '\n';
    for (int num : rez) {
        fout << num << " ";
    }
    return 0;
}