# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
61602 | 2018-07-26T07:59:30 Z | IOrtroiii | Easter Eggs (info1cup17_eastereggs) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> #include "grader.h" using namespace std; const int N = 1e5 + 5; int n; vector<int> G[N], ask; int arr[N], tot = 0; void dfs(int u,int p) { arr[++tot] = u; for (int v : G[u]) if (v != p) { dfs(v, u); } } int findEgg(int n,vector<pair<int,int>> bridges) { for (int i = 1; i <= n; ++i) G[i].clear(); for (auto ed : bridges) { int u = ed.first, ed.second; G[u].push_back(v), G[v].push_back(u); } dfs(1, 1); int l = 1, r = n; while (l < r) { int mid = l + r >> 1; ask.clear(); for (int i = 1; i <= mid; ++i) ask.push_back(arr[i]); if (query(ask)) r = mid; else l = mid + 1; } return arr[l]; }