#include <bits/stdc++.h>
#include "grader.h"
#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")
using namespace std;
// #define int long long int
const int N = 5e2 + 20;
// const int md = 1e9 + 7;
// const int INF = 1e9;
vector<vector<int>> g(N, vector<int> ());
vector<bool> visited(N);
int findEgg(int n, vector<pair<int, int>> bri) {
for(int i = 1; i <= n; i++) {
g[i].clear();
visited[i] = 0;
}
for (int i = 0; i < n - 1; i++) {
auto [u, v] = bri[i];
g[u].push_back(v);
g[v].push_back(u);
}
queue<int> q;
q.push(1);
visited[1] = 1;
vector<int> w;
while (!q.empty()) {
auto u = q.front();
w.push_back(u);
q.pop();
for (auto v : g[u])
if (!visited[v]) {
q.push(v);
visited[v] = 1;
}
}
int l = -1, r = n;
while (r - l > 1) {
int mid = (l + r) >> 1;
vector<int> qu;
for (int i = l + 1; i < mid; i++)
qu.push_back(w[i]);
if (qu.empty()) {
l = mid;
continue;
}
if (query(qu))
r = mid;
else l = mid;
}
return w[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... |