Cod sursa(job #3185165)

Utilizator PostoacaMateiMatei Postoaca PostoacaMatei Data 18 decembrie 2023 10:37:24
Problema Subsir crescator maximal Scor 45
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int v[100001], q[100001];

int main()
{
    int n, l = 1;
    fin >> n;
    for (int i = 1; i <= n; i++)
        fin >> v[i];
    q[1] = v[1];
    for (int i = 2; i <= n; i++) {
        int x = v[i];
        if(x >= q[l])
            q[++l] = x;
        else if(x < q[1])
            q[1] = x;
        else {
            int st = 1, dr = l;
            while(st + 1 < dr) {
                int m = (st + dr) / 2;
                if(x < q[m])
                    dr = m;
                else
                   st = m;
            }
            q[dr] = x;
        }
    }
    fout << l;
    return 0;
}