Cod sursa(job #2665346)

Utilizator OviNOvidiu Necula OviN Data 30 octombrie 2020 16:38:48
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("scmax.in");
ofstream g("scmax.out");

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

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

void afisare() {
    g << ml << "\n";
    for (int i = 1; i <= n; i++) {
        if (l[i] == ml) {
            ml--;
            g << 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;
}