Submission #1178283

#TimeUsernameProblemLanguageResultExecution timeMemory
1178283perchutsEaster Eggs (info1cup17_eastereggs)C++20
0 / 100
0 ms480 KiB
#include <bits/stdc++.h> #include "grader.h" #define all(x) x.begin(), x.end() #define sz(x) (int) x.size() #define endl '\n' #define pb push_back #define _ ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); using namespace std; using ll = long long; using ull = unsigned long long; using ii = pair<int,int>; using iii = tuple<int,int,int>; const int inf = 2e9+1; const int mod = 1e9+7; const int maxn = 3e5+100; template<typename X, typename Y> bool ckmin(X& x, const Y& y) { return (y < x) ? (x=y,1):0; } template<typename X, typename Y> bool ckmax(X& x, const Y& y) { return (x < y) ? (x=y,1):0; } mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int findEgg(int n, vector<ii> edg) { vector<vector<int>> g(n+1); for (auto [x, y] : edg) g[x].pb(y), g[y].pb(x); vector<int> in(n+1); int tt = 0; auto dfs = [&] (auto&& self, int u, int p) -> void { in[++tt] = u; for (auto v : g[u]) { if (v == p) continue; self(self, v, u); } }; dfs(dfs, 1, 1); int l = 1, r = n, ans = n; while (l <= r) { int md = l + (r-l+1)/2; vector<int> qq; for (int i = 1; i <= md; ++i) qq.pb(in[i]); if (query(qq)) ans = md, l = md+1; else r = md-1; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...