Submission #1146433

#TimeUsernameProblemLanguageResultExecution timeMemory
1146433NurislamEaster Eggs (info1cup17_eastereggs)C++17
100 / 100
9 ms488 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; int findEgg (int n, vector < pair < int, int > > bridges){ vector<vector<int>> g(n + 5); for(auto [a, b] : bridges) { g[a].push_back(b); g[b].push_back(a); }; vector<int> tin(n + 5, 0); int tim = 1; auto dfs = [&](auto dfs, int ps, int pr) -> void{ tin[ps] = tim++; for(int to : g[ps]) if(to != pr) dfs(dfs, to, ps); }; dfs(dfs, 1, 1); int ans = 1; int l = 1, r = n; while(l < r){ int m = (l+r)>>1; vector<int> lf; for(int i = 1; i <= n; i++) if(tin[i] <= m) lf.push_back(i); if(query(lf)){ ans = m; r = m; }else{ ans = m+1; l = m + 1; } }; for(int i = 1; i <= n; i++){ if(tin[i] == ans){ ans = i; break; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...