#include <bits/stdc++.h>
#include "grader.h"
#define pb push_back
#define fs first
#define sc second
using namespace std;
const int N = 520;
vector<int> in;
vector<int> adj[N];
void dfs(int v, int par){
in.pb(v);
for(auto u : adj[v]){
if(u != par){
dfs(u, v);
}
}
}
int findEgg(int n, vector<pair<int, int>> bridges){
in.clear();
for (int i = 1; i <= n; i++) adj[i].clear();
for(auto v : bridges){
adj[v.fs].pb(v.sc);
adj[v.sc].pb(v.fs);
}
dfs(1, 0);
int l = 0, r = n - 2, ans = n - 1;
while(l <= r){
int mid = (l + r) / 2;
vector<int> vec;
for(int i = 0; i <= mid; i++){
vec.push_back(in[i]);
}
if(query(vec)){
ans = mid;
r = mid - 1;
} else {
l = mid + 1;
}
}
return in[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... |