Submission #164087

#TimeUsernameProblemLanguageResultExecution timeMemory
164087alextodoranBitaro’s Party (JOI18_bitaro)C++14
14 / 100
2045 ms9080 KiB
#include <bits/stdc++.h> using namespace std; const int N_MAX = 100002; int n, m, q; vector <int> inEdges[N_MAX]; int dp[N_MAX]; int fin; bool out[N_MAX]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n >> m >> q; for(int i = 1; i <= m; i++) { int u, v; cin >> u >> v; inEdges[v].push_back(u); } while(q--) { cin >> fin; int cnt; cin >> cnt; memset(out, false, sizeof(out)); while(cnt--) { int node; cin >> node; out[node] = true; } for(int i = 1; i <= fin; i++) { dp[i] = -1; for(int u : inEdges[i]) if(dp[u] > -1) dp[i] = max(dp[i], dp[u] + 1); if(out[i] == false) dp[i] = max(dp[i], 0); } cout << dp[fin] << "\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...