#include<bits/stdc++.h>
#include "grader.h"
#define maxn 515
#define fi first
#define se second
using namespace std;
using ii = pair<int, int>;
int x[maxn], id = 0;
vector<int> adj[maxn];
void dfs(int u, int dad) {
    x[++id] = u;
    for (int v : adj[u])
        if (v != dad)
            dfs(v, u);
}
int ASK(int mid) {
    vector<int> cr;
    for (int i = 1; i <= mid; i++) cr.emplace_back(x[i]);
    return query(cr);
}
int findEgg(int N, vector<ii> bridges) {
    for (ii x : bridges) {
        adj[x.fi].emplace_back(x.se);
        adj[x.se].emplace_back(x.fi);
    }
    dfs(1, 0);
    int lo = 0, hi = N;
    while (hi - lo > 1) {
        int mid = (lo + hi) >> 1;
        if (ASK(mid)) hi = mid;
        else lo = mid;
    }
    return x[hi];
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |