Submission #660274

#TimeUsernameProblemLanguageResultExecution timeMemory
660274a_aguiloEaster Eggs (info1cup17_eastereggs)C++14
100 / 100
22 ms588 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; vector<int> order; vector<vector<int>> listaAdy; void dfs(int nodo, int padre){ order.push_back(nodo); for(int vecino: listaAdy[nodo]){ if(vecino == padre) continue; dfs(vecino, nodo); } } int findEgg (int N, vector < pair < int, int > > bridges) { listaAdy = vector<vector<int>>(N+1); for(pair<int, int> bridge: bridges){ listaAdy[bridge.second].push_back(bridge.first); listaAdy[bridge.first].push_back(bridge.second); } dfs(1, -1); int ans = N; int lo = 1; int hi = N-1; while(hi >= lo){ int mid = lo + (hi - lo)/2; vector<int> ask(mid); for(int i = 0; i < mid; ++i) ask[i] = order[i]; if(query(ask)){ hi = mid-1; ans = mid; } else{ lo = mid+1; } } return order[ans-1]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...