#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);
vector<int> w(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;
int c = 0;
while (!q.empty()) {
auto u = q.front();
w[++c] = u;
q.pop();
for (auto v : g[u])
if (!visited[v]) {
q.push(v);
visited[v] = 1;
}
}
int l = 1, r = n - 1, ans = n;
while(l <= r) {
int mid = (l + r) >> 1;
vector<int> v;
for(int i = 1; i <= mid; i++)
v.push_back(w[i]);
if(query(v)) {
ans = mid;
r = mid - 1;
} else {
l = mid + 1;
}
}
return w[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... |