Submission #439491

#TimeUsernameProblemLanguageResultExecution timeMemory
439491Yazan_AlattarEaster Eggs (info1cup17_eastereggs)C++14
100 / 100
24 ms344 KiB
#include <iostream> #include <fstream> #include <cstring> #include <cmath> #include <queue> #include <map> #include <set> #include <vector> #include <algorithm> #include "grader.h" using namespace std; #define endl "\n" #define F first #define S second #define pb push_back typedef long long ll; const int M = 550; const int mod = 1e9+7; vector <int> adj[M], path; void dfs(int node, int p) { path.pb(node); for(auto i : adj[node]){ if(i == p) continue; dfs(i, node); } return; } int findEgg (int N, vector < pair < int, int > > bridges) { for (int i = 1; i <= N; i++) adj[i].clear(); path.clear(); for(auto i : bridges){ adj[i.F].pb(i.S); adj[i.S].pb(i.F); } dfs(1, 0); int l = 0, r = N - 1; while (l != r) { int mid = (l + r + 1) / 2; if (query(vector<int>(path.begin(), path.begin() + mid))) r = mid - 1; else l = mid; } return path[l]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...