Submission #1250176

#TimeUsernameProblemLanguageResultExecution timeMemory
1250176tkm_algorithmsBitaro’s Party (JOI18_bitaro)C++20
14 / 100
2092 ms13892 KiB
/** * In the name of Allah * We are nothing and you're everything * Ya Muhammad! **/ #include <bits/stdc++.h> #ifdef LOCAL #define debug(x) cerr << #x << "= " << x << endl; #else #define debug(x) #endif using namespace std; using ll = long long; using ull = uint64_t; #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() #define mp(x, y) make_pair(x, y) #define int long long const char nl = '\n'; const int N = 1e5+5; const ll inf = 0x3f3f3f3f3f3f3f3fll; vector<int> g[N]; vector<int> v, vis; void dfs(int a) { if (!v[a])vis[a] = 0; for (auto i: g[a]) { if (vis[i] != -inf) { vis[a] = max(vis[a], vis[i]+1); continue; } dfs(i); vis[a] = max(vis[a], vis[i]+1); } } void solve() { int n, m, qu; cin >> n >> m >> qu; v.resize(n+1); for (int i = 0; i < m; ++i) { int a, b; cin >> a >> b; g[b].push_back(a); } vis.resize(n+1, -inf); for (int j = 0; j < qu; ++j) { int t, y; cin >> t >> y; vector<int> c(y); for (int i = 0; i <= n; ++i)vis[i] = -inf; for (auto &i: c) { cin >> i; v[i] = 1; } dfs(t); cout << (vis[t]<0?-1:vis[t]) << nl; for (auto i: c)v[i] = 0; } } int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); //int t; cin >> t; //while(t--) solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...