Cod sursa(job #2391019)

Utilizator marius0072scarlat marius stefan marius0072 Data 28 martie 2019 16:49:23
Problema Subsir 2 Scor 18
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>
#include <fstream>
#define MAX(a,b)(a > b ? a : b)

using namespace std;

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

const int NMAX = 5000;
int n,v[NMAX + 1],lis[NMAX + 5],len = -(1 << 30);

void Lis(){
    lis[0] = 1;
    for(int i = 1;i < n;i++)
    {
        for(int j = 0;j < i;j++){
            if (v[i] > v[j] && lis[i] < lis[j] + 1)
                lis[i] = lis[j] + 1;
            len  = MAX(len, lis[i]);
        }
    }
}

int main(){
    f >> n;
    for(int i = 0;i < n;i++)
        f >> v[i];
    Lis();
    g << len << "\n";
}