#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
void dfs(int u, int p, vector<vector<int>> &G, vector<int> &orders) {
orders.emplace_back(u);
for (int v : G[u]) if (v != p) dfs(v, u, G, orders);
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
vector<int> orders;
vector<vector<int>> G(N + 5);
for (auto [u, v] : bridges) {
G[u].emplace_back(v);
G[v].emplace_back(u);
}
dfs(1, -1, G, orders);
int l = 0, r = N - 1;
while (l < r) {
int mid = (l + r) / 2;
vector<int> to_ask;
for (int i = 0; i <= mid; i++) to_ask.push_back(orders[i]);
if (query(to_ask)) r = mid;
else l = mid + 1;
}
return orders[l];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |