Cod sursa(job #2674617)

Utilizator Cosmin3105Cosmin Colceru Cosmin3105 Data 19 noiembrie 2020 18:24:06
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 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 + 1; 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;
}