#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
const int N=540;
int fix[N];
vector<int> vec[N],ans,junk;
vector<int> ask(int r){
    vector<int> some;
    for(int i=0; i<=r; i++){
        some.push_back(ans[i]);
    }
    return some;
}
void dfs(int node, int par){
    fix[node]=1;
    ans.push_back(node);
    for(auto to : vec[node]){
        if(to==par) continue;
        dfs(to,node);
    }
}
int findEgg(int N, vector<pair<int,int>> bridges){
    ans.clear();
    for(int i=0; i<=N; i++){
        vec[i].clear();
        fix[i] = 0;
    }
    for(int i=0; i<bridges.size(); i++){
        int u=bridges[i].first;
        int v=bridges[i].second;
        vec[u].push_back(v);
        vec[v].push_back(u);
    }
    dfs(1,0);
    int l=0;
    int pas=N-1;
    int r=N-2;
    while(l<=r){
        int mid=(l+r)/2;
        vector<int> que=ask(mid);
        int egg=query(que);
        if(egg==1){
            r=mid-1;
            pas=mid;
        }
        else{
            l=mid+1;
        }
    }
    return ans[pas];
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |