제출 #1281137

#제출 시각아이디문제언어결과실행 시간메모리
1281137AishaBitaro’s Party (JOI18_bitaro)C++20
0 / 100
2 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); } for (int i = 1; i <= n; i ++) { sort(g[i].rbegin(), g[i].rend()); } int begin; cin >> begin; int t; cin >> t; set <int> w; for (int i = 0; i < t; i ++) { int x; cin >> x; w.insert(x); } vector <int> dis(n + 1, - (int)1e18), vis(n + 1); if (w.count(begin) == 0) dis[begin] = 0; else { cout << -1 << endl; return 0; } auto dfs = [&](auto &&dfs, int i) -> void { vis[i] = 1; for (int x : g[i]) { if (!vis[x]) { dis[x] = dis[i] + 1; dfs(dfs, x); } } }; dfs(dfs, begin); int ans = -1; for (int i = 1; i <= n; i ++) { if (w.count(i)) continue; 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...