Submission #1275598

#TimeUsernameProblemLanguageResultExecution timeMemory
1275598nicolo_010Easter Eggs (info1cup17_eastereggs)C++20
0 / 100
1 ms496 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; using ll = long long; using pii = pair<int, int>; using namespace std; vector<int> euler; vector<vector<int>> adj; void dfs(int n, int p=-1) { euler.push_back(n); for (auto x : adj[n]) { if (x==p) continue; dfs(x, n); } euler.push_back(n); } int findEgg (int N, vector < pair < int, int > > bridges) { adj.resize(N); for (int i=0; i<N-1; i++) { int a = bridges[i].first; int b = bridges[i].second; a--; b--; adj[a].push_back(b); adj[b].push_back(a); } dfs(0); int n = euler.size(); int l = 0, r = n-1; int ans; while (l <= r) { int m = (l+r)/2; vector<int> ask; for (int i=0; i<n; i++) { if (i >= m) ask.push_back(euler[i]+1); } int q = query(ask); if (q == 1) { l = m+1; ans = m; } else { r = m-1; } } int anss = euler[ans]+1; euler.clear(); for (int i=0; i<N; i++) { adj[i].clear(); } adj.clear(); return euler[ans]+1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...