# include <iostream>
# include <vector>
# include "grader.h"
//# include "grader.cpp"
using namespace std;
const int MAX=513;
vector<int> adj[MAX];
vector<int> order;
void dfs(int curr, int par)
{
order.push_back(curr);
for(int nxt: adj[curr])
{
if(nxt==par) continue;
dfs(nxt,curr);
}
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
order.clear();
for(int i=1;i<=N;i++) adj[i].clear();
for(pair<int,int> pa: bridges)
{
int u=pa.first,v=pa.second;
adj[u].push_back(v);
adj[v].push_back(u);
}
dfs(1,0);
int l=0,r=N-1,ans=0;
while(l!=r)
{
int mid=(l+r)/2;
vector<int> v;
for(int i=l;i<=mid;i++) v.push_back(order[i]);
if(query(v))
{
ans=mid;
r=mid;
}
else
{
ans=mid+1;
l=mid+1;
}
}
return order[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... |