This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
const int sze = 600;
vector<int> graph[sze];
vector<int> path;
void dfs(int node,int par=-1){
path.push_back(node);
for(auto v:graph[node]){
if(v==par){
continue;
}
dfs(v,node);
}
}
int findEgg(int n, vector<pair<int,int>> edges){
path.clear();
for(int i=0;i<=n;i++){
graph[i].clear();
}
for(auto v:edges){
graph[v.first].push_back(v.second);
graph[v.second].push_back(v.first);
}
dfs(1);
int l =0;
int r = n-2;
vector<int> lst;
int ans = path.back();
while(l<=r){
int mid = (l+r)/2;
lst.clear();
for(int i=0;i<=mid;i++){
lst.push_back(path[i]);
}
if(query(lst)){
ans=lst.back();
r = mid-1;
}
else{
l = mid+1;
}
}
return 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... |