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