Submission #61759

#TimeUsernameProblemLanguageResultExecution timeMemory
61759VinhspmEaster Eggs (info1cup17_eastereggs)C++14
100 / 100
44 ms628 KiB
#include<bits/stdc++.h> #include "grader.h" using namespace std; #define FOR(a, b, c) for(int a = b; a <= c; ++a) #define pb push_back #define fi first #define se second typedef pair<double, double> iid; typedef pair<int, int> ii; const int N = 600; const int oo = 1e9; int n, cnt; int pos[N]; vector<int> vi[N]; void dfs(int pre, int u) { pos[++cnt] = u; for(int v: vi[u]) if(v != pre) dfs(u, v); } int findEgg(int num, vector< pair<int, int> > bridges){ cnt = 0; n = num; for(int i = 1; i <= n; ++i) vi[i].clear(); for(auto v: bridges) { vi[v.fi].pb(v.se); vi[v.se].pb(v.fi); } dfs(1, 1); int l = 1, r = n; while(r != l) { int mid = (l + r) / 2; vector<int> tmp; for(int i = 1; i <= mid; ++i) tmp.pb(pos[i]); if(query(tmp)) r = mid; else l = mid + 1; } return pos[l]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...