Submission #412775

#TimeUsernameProblemLanguageResultExecution timeMemory
412775aris12345678Easter Eggs (info1cup17_eastereggs)C++14
100 / 100
21 ms448 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; const int mxN = 515; vector<int> adj[mxN]; vector<int> euler; void dfs(int u, int p) { euler.push_back(u); for(auto &v : adj[u]) { if(v == p) continue; dfs(v, u); } } int findEgg(int n, vector<pair<int, int> > bridges) { euler.clear(); for(int i = 1; i <= n; i++) adj[i].clear(); for(int i = 0; i < n-1; i++) { adj[bridges[i].first].push_back(bridges[i].second); adj[bridges[i].second].push_back(bridges[i].first); } dfs(1, 0); int st = 0, en = euler.size()-2, md, ans = -1; while(st <= en) { md = (st+en)/2; vector<int> check; for(int i = 0; i <= md; i++) check.push_back(euler[i]); if(query(check)) { en = md-1; ans = md; } else { st = md+1; } } if(ans == -1) return euler.back(); return euler[ans]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...