#include <bits/stdc++.h>
#include "grader.h"
#define pb push_back
#define ll long long
using namespace std;
const ll sz = 600;
vector<int>g[sz];
ll used[sz], t=0, in[sz];
void dfs(ll node)
{
    used[node]=1;
    in[t++]=node;
    for(auto cur : g[node])
    {
        if(!used[cur]) dfs(cur);
    }
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
    t=0;
    for(int i=0; i<sz; i++)
    {
        g[i].clear();
        used[i]=0;
    }
    for(int i=0; i<N-1; i++)
    {
        ll x=bridges[i].first, y=bridges[i].second;
        g[x].pb(y);
        g[y].pb(x);
    }
    dfs(1);
    ll l=1, r=N;
    while(l<r)
    {
        vector<int>v;
        ll mid=(l+r)/2;
        for(int i=1; i<=mid; i++) v.pb(in[i]);
        if(query(v))
        {
            r=mid;
        }
        else
        {
            l=mid+1;
        }
    }
    return in[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... |