Submission #1226571

#TimeUsernameProblemLanguageResultExecution timeMemory
1226571kokoxuyaEaster Eggs (info1cup17_eastereggs)C++20
0 / 100
2 ms496 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; int dfs(int cn, vector<int>&preorder, vector<vector<int>>&adjlist, int curr, vector<int>&corrfrom) { preorder[cn]=++curr; corrfrom[preorder[cn]]=cn; for(int to:adjlist[cn]) { if(preorder[to]!=0)continue; curr=dfs(to,preorder,adjlist,curr,corrfrom); } return curr; } int findEgg (int N, vector<pair<int,int>>bridges) { vector<int>preorder(N+1,0);vector<vector<int>>adjlist(N+1); vector<int>corrfrom(N+1); for(int a=0;a<(N-1);a++) { int t1=bridges[a].first,t2=bridges[a].second; adjlist[t1].push_back(t2); adjlist[t2].push_back(t1); } dfs(1,preorder,adjlist,0,corrfrom); int hi=N,lo=1,mid,ans; while(hi>=lo) { mid=(hi+lo)/2; vector<int>queset; for(int a=lo;a<=mid;a++){queset.push_back(corrfrom[a]);} if(query(queset)) { ans=mid; hi=mid-1; } else { lo=mid+1; } } return corrfrom[ans]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...