87832024-01-30 00:48:46rennKutyavetélkedőcpp17Hibás válasz 0/100123ms42292 KiB
#include <bits/stdc++.h>
using namespace std;

inline bool cnt(unordered_set<int> &x, int &n) {
    return x.find(n) != x.end();
}

int main() {
    cin.tie(0);
    cout.tie(0);
    ios::sync_with_stdio(0);

    int n, k, m, a, b;
    cin >> n >> k;

    vector<int> feladatok(n+2, -1), legjobb(n+2, -1);
    vector<unordered_set<int>> szabalyok(k+1);
    for(int i = 0; i < n; i++)
        cin >> feladatok[i];
    cin >> m;

    while(m--) {
        cin >> a >> b;
        if(a == k || b == k) continue;
        szabalyok[a].insert(b);
    }

    legjobb[0] = (feladatok[0]-1) == k ? -1 : 1;
    legjobb[1] = (feladatok[1]-1) == k ? -1 : 1;
    for(int i = 0, j = 0; i < n; i++) {
        if(j == 2) break;
        if(legjobb[i] == -1){
            j++;
            continue;
        }
        j = 0;
        if(cnt(szabalyok[feladatok[i]], feladatok[i+1]))
            legjobb[i+1] = max(legjobb[i+1], legjobb[i]+1);
        if(cnt(szabalyok[feladatok[i]], feladatok[i+2]))
            legjobb[i+2] = max(legjobb[i+2], legjobb[i]+1);
    }

    cout << max(0, max(legjobb[n-1], legjobb[n-2]));
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1824 KiB
2Elfogadva3ms2016 KiB
subtask20/15
3Hibás válasz3ms2228 KiB
4Elfogadva3ms2460 KiB
5Elfogadva3ms2692 KiB
6Elfogadva2ms2736 KiB
7Elfogadva17ms5736 KiB
8Hibás válasz17ms5816 KiB
9Hibás válasz17ms5988 KiB
subtask30/19
10Elfogadva2ms3056 KiB
11Hibás válasz3ms3180 KiB
12Hibás válasz3ms3392 KiB
13Hibás válasz2ms3480 KiB
14Hibás válasz3ms3620 KiB
15Elfogadva2ms3476 KiB
16Hibás válasz2ms3476 KiB
subtask40/34
17Hibás válasz3ms3816 KiB
18Hibás válasz4ms3940 KiB
19Hibás válasz4ms4204 KiB
20Hibás válasz4ms4208 KiB
21Hibás válasz6ms4448 KiB
22Hibás válasz6ms4748 KiB
subtask50/32
23Hibás válasz35ms12092 KiB
24Hibás válasz50ms15552 KiB
25Hibás válasz45ms18564 KiB
26Hibás válasz50ms20880 KiB
27Hibás válasz50ms23108 KiB
28Hibás válasz71ms18304 KiB
29Hibás válasz111ms42188 KiB
30Elfogadva123ms42292 KiB
31Hibás válasz76ms25604 KiB
32Hibás válasz43ms12680 KiB
33Hibás válasz78ms34568 KiB
34Hibás válasz101ms34464 KiB