#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
const int MXN = 513;
vector<int> g[MXN], ord;
void dfs(int v, int p=0) {
ord.push_back(v);
for(int u : g[v])
if(u!=p)
dfs(u, v);
}
bool imgoingbackto505;
int findEgg(int n, vector < pair < int, int > > bridges)
{
if(!imgoingbackto505) {
for(int i=0; i<n-1; i++) {
g[bridges[i].first].push_back(bridges[i].second);
g[bridges[i].second].push_back(bridges[i].first);
}
dfs(1);
imgoingbackto505 = 1;
}
int l=-1, r=n-1;
while(r-l>1) {
int mid = l+r>>1;
vector<int> vec;
for(int i=0; i<=mid; i++)
vec.push_back(ord[i]);
(query(vec) ? r : l) = mid;
}
return ord[r];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |