Cod sursa(job #2665344)

Utilizator OviNOvidiu Necula OviN Data 30 octombrie 2020 16:37:23
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>

using namespace std;

int n, a[100], l[100], maxim, poz, ml;

void citire() {
    cin >> n;
    for (int i = 1; i <= n; i++)
        cin >> a[i];
}

void afisare() {
    cout << ml << "\n";
    for (int i = 1; i <= n; i++) {
        if (l[i] == ml) {
            ml--;
            cout << a[i] << " ";
        }
    }
}

void pd () {
    l[n] = 1;
    for (int i = n - 1; i >= 1; i--) {
        maxim = 0;
        for (int j = i + 1; j <= n; j++) {
            if (a[i] < a[j] && l[j] > maxim) {
                maxim = l[j];
            }
        }
        l[i] = maxim + 1;
        if (l[i] > ml) {
            ml = l[i];
            poz = i;
        }
    }
}

int main() {
    citire();
    pd();
    afisare();
    return 0;
}