3260 2023. 02. 23 13:23:03 sztomi Részekre (40) cpp11 Elfogadva 40/40 45ms 5000 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a[n];
    for(int i = 0; i < n; i++) cin >> a[i];


    vector<int> vegek;
    int db = 0;
    int ki;
    int b, j, kozep;
    for(int i = n - 1; i >= 0; i--){
        // adottnal legkisebb nagyobb
        ki = -1;
        b = 0;
        j = vegek.size() - 1;
        while(b <= j){
            kozep = (b + j) / 2;

            if(vegek[kozep] > a[i]){
                ki = kozep;
                j = kozep - 1;
            }
            else{
                b = kozep + 1;
            }
        }

        if(ki == -1){
            vegek.push_back(a[i]);
            db++;
        }
        else{
            vegek[ki] = a[i];
        }

    }

    cout << db << '\n';
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 45ms 2836 KiB
3 Elfogadva 2/2 3ms 2268 KiB
4 Elfogadva 2/2 3ms 2428 KiB
5 Elfogadva 2/2 3ms 2644 KiB
6 Elfogadva 3/3 3ms 3008 KiB
7 Elfogadva 3/3 4ms 2960 KiB
8 Elfogadva 3/3 4ms 3160 KiB
9 Elfogadva 3/3 6ms 3276 KiB
10 Elfogadva 3/3 20ms 4044 KiB
11 Elfogadva 3/3 32ms 4676 KiB
12 Elfogadva 3/3 39ms 5000 KiB
13 Elfogadva 4/4 39ms 4880 KiB
14 Elfogadva 4/4 39ms 4980 KiB
15 Elfogadva 5/5 39ms 4756 KiB