9585 2024. 02. 23 12:44:09 Ablablabla Színes szobák (50 pont) cpp17 Elfogadva 50/50 86ms 6152 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

int n, k, m;
vector<int> szobak;
vector<pii> kerdesek;

int jo(int akt){
    for(pii x : kerdesek){
        if(szobak[akt] == x.first){
            akt += x.second;
        }

        if(akt == -1){
            return -1;
        } else if(akt == n){
            return 1;
        }
    }
    return 0;
}

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

    szobak.assign(n, 0);
    for(int i = 0; i < n; i++){
        cin >> szobak[i];
    }

    kerdesek.assign(m, {0, 0});
    for(pii &x : kerdesek){
        cin >> x.first >> x.second;
    }

    int balH = -1;
    int l = 0, r = n - 1;
    while(l <= r){
        int mid = (l + r) / 2;

        if(jo(mid) == -1){
            balH = mid;
            l = mid + 1;
        } else{
            r = mid - 1;
        }
    }

    int jobbH = n;
    l = 0;
    r = n - 1;
    while(l <= r){
        int mid = (l + r) / 2;

        if(jo(mid) == 1){
            jobbH = mid;
            r = mid - 1;
        } else{
            l = mid + 1;
        }
    }

    cout << (balH + 1) + (n - jobbH) << "\n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1880 KiB
2 Elfogadva 0/0 86ms 4516 KiB
3 Elfogadva 1/1 3ms 2348 KiB
4 Elfogadva 1/1 3ms 2404 KiB
5 Elfogadva 1/1 3ms 2608 KiB
6 Elfogadva 1/1 3ms 2836 KiB
7 Elfogadva 1/1 3ms 2912 KiB
8 Elfogadva 1/1 3ms 3044 KiB
9 Elfogadva 1/1 3ms 3272 KiB
10 Elfogadva 1/1 4ms 3496 KiB
11 Elfogadva 1/1 3ms 3560 KiB
12 Elfogadva 1/1 4ms 3552 KiB
13 Elfogadva 1/1 8ms 3876 KiB
14 Elfogadva 1/1 4ms 3840 KiB
15 Elfogadva 1/1 6ms 3784 KiB
16 Elfogadva 1/1 8ms 3904 KiB
17 Elfogadva 1/1 8ms 4048 KiB
18 Elfogadva 1/1 8ms 3984 KiB
19 Elfogadva 1/1 50ms 5080 KiB
20 Elfogadva 1/1 82ms 5996 KiB
21 Elfogadva 1/1 61ms 5084 KiB
22 Elfogadva 1/1 67ms 5476 KiB
23 Elfogadva 1/1 78ms 5820 KiB
24 Elfogadva 1/1 82ms 6000 KiB
25 Elfogadva 1/1 82ms 6000 KiB
26 Elfogadva 1/1 82ms 6148 KiB
27 Elfogadva 3/3 75ms 6000 KiB
28 Elfogadva 3/3 75ms 6068 KiB
29 Elfogadva 3/3 75ms 6152 KiB
30 Elfogadva 3/3 75ms 6068 KiB
31 Elfogadva 3/3 75ms 5996 KiB
32 Elfogadva 3/3 75ms 6000 KiB
33 Elfogadva 4/4 39ms 4568 KiB
34 Elfogadva 4/4 64ms 5480 KiB