#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, ll p)
{
//used[node]=1;
in[++t]=node;
for(auto cur : g[node])
{
if(p!=cur) dfs(cur, node);
}
}
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, 0);
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... |