Submission #585869

#TimeUsernameProblemLanguageResultExecution timeMemory
585869MilosMilutinovicEaster Eggs (info1cup17_eastereggs)C++14
100 / 100
19 ms368 KiB
#include "grader.h" #include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> #include <cmath> #include <vector> #include <set> #include <map> #include <unordered_set> #include <unordered_map> #include <queue> #include <ctime> #include <cassert> #include <complex> #include <string> #include <cstring> #include <chrono> #include <random> #include <bitset> #include <array> using namespace std; #ifdef LOCAL #define eprintf(...) {fprintf(stderr, __VA_ARGS__);fflush(stderr);} #else #define eprintf(...) 42 #endif using ll = long long; using ld = long double; using uint = unsigned int; using ull = unsigned long long; template<typename T> using pair2 = pair<T, T>; using pii = pair<int, int>; using pli = pair<ll, int>; using pll = pair<ll, ll>; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); ll myRand(ll B) { return (ull)rng() % B; } #define pb push_back #define mp make_pair #define all(x) (x).begin(),(x).end() #define fi first #define se second clock_t startTime; double getCurrentTime() { return (double)(clock() - startTime) / CLOCKS_PER_SEC; } const int N = 515; vector<int> g[N]; vector<int> ord; void AddEdge(int v, int u) { g[v].push_back(u); g[u].push_back(v); } void dfs(int v, int par) { ord.push_back(v); for (int u : g[v]) if (u != par) dfs(u, v); } int Ask(int x) { vector<int> qv; for (int i = 0; i <= x; i++) qv.push_back(ord[i]); return query(qv); } int findEgg(int n, vector<pii> bridges) { for (int i = 1; i <= n; i++) g[i].clear(); for (int i = 0; i < n - 1; i++) { AddEdge(bridges[i].fi, bridges[i].se); } ord.clear(); dfs(1, 0); int l = 0, r = n - 1; while (l < r) { int mid = (l + r) >> 1; if (Ask(mid)) r = mid; else l = mid + 1; } return ord[l]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...