Cod sursa(job #2511257)

Utilizator Cosmin3105Cosmin Colceru Cosmin3105 Data 18 decembrie 2019 17:18:49
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, v[100001], l[100001] , lmax, poz;

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

    l[n] = 1;
    for(int i = n - 1; i >= 1; i--){
        int nr = 0;
        for(int j = i; j <= n; j++)
            if(v[i] < v[j] && l[j] > nr)
                nr = l[j];
        l[i] = nr + 1;
        if(l[i] > lmax){
            lmax = l[i];
            poz = i;
        }

    }

    fout << lmax << "\n";
    for(int i = poz; i <= n; i++)
        if(l[i] == lmax){
            fout << v[i] << " ";
            lmax--;
        }

    return 0;
}