Submission #1146442

#TimeUsernameProblemLanguageResultExecution timeMemory
1146442ReLiceEaster Eggs (info1cup17_eastereggs)C++20
100 / 100
10 ms548 KiB
#include "grader.h" #include <bits/stdc++.h> #define ll int #define ld double #define pb push_back #define pf push_front #define ins insert #define fr first #define sc second #define endl "\n" #define all(x) x.begin(), x.end() using namespace std; int findEgg (int n, vector <pair<int, int>> bridges){ ll i; vector<vector<ll>> d(n + 1), g(n + 1); ll mx = 0; for(i=0;i<n - 1;i++){ auto [a, b] = bridges[i]; g[a].pb(b); g[b].pb(a); } function<void(ll, ll, ll)> dfs = [&](ll v, ll p, ll dd){ d[dd].pb(v); mx = max(mx, dd); for(auto i : g[v]){ if(i == p) continue; dfs(i, v, dd + 1); } return; }; dfs(1, 0, 1); for(i=1;i<=n;i++){ for(auto j : d[i]) d[0].pb(j); } ll l = 0, r = n; while(l + 1 < r){ ll m = (l + r) / 2; vector<ll> q; for(i=0;i<m;i++){ q.pb(d[0][i]); } if(query(q)) r = m; else l = m; } return d[0][r - 1]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...