Cod sursa(job #2685638)

Utilizator tact1m4n3Dicu Tudor Andrei tact1m4n3 Data 17 decembrie 2020 14:28:54
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;

const int lim = 2000;

vector<int> arr;
vector<int> len;
vector<bool> ready;

int length(int x)
{
    if (x == 0) return 1;
    int i = 0;
    int l = 0;
    int m = 0;
    while (i < x)
    {
        if (m < arr[i])
        {
            if (!ready[i])
                len[i] = max(l, length(i) + 1);
            l = len[i];
            m = arr[i];
        }

        i++;
    }

    len[x] = l;
    ready[x] = 1;
    
    return l;
}

int main()
{
    int n;
    cin >> n;

    arr.resize(n);
    len.resize(n);
    ready.resize(n);
    for (int i = 0; i < n; i++)
    {
        cin >> arr[i];
    }

    int l = length(n - 1);
    cout << l;

    return 0;
}