Submission #1281142

#TimeUsernameProblemLanguageResultExecution timeMemory
1281142AishaBitaro’s Party (JOI18_bitaro)C++20
0 / 100
1 ms572 KiB
#include "bits/stdc++.h"

using namespace std;

#define int long long

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    int n, m, q;
    cin >> n >> m >> q;

    vector <vector <int>> g(n + 1);
    for (int i = 1; i <= m; i ++) {
        int u, v;
        cin >> u >> v;
        g[v].push_back(u);
    }

    int begin;
    cin >> begin;

    int t; cin >> t;
    vector <int> ok(n + 1, 1);

    for (int i = 0; i < t; i ++) {
        int x; cin >> x;
        ok[x] = 0;
    }

    vector <int> dis(n + 1, - 2 * n);
    int ans = -1;
    if (ok[begin]) dis[begin] = 0;

    for (int i = begin; i >= 1; i --) {
        for (int x : g[i]) {
            dis[x] = max(dis[x], dis[i] + 1);
        }
        if (!ok[i]) dis[i] = -2 * n;
        ans = max(ans, dis[i]);
    }

    cout << ans << endl;

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...