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