제출 #1137127

#제출 시각아이디문제언어결과실행 시간메모리
1137127anmattroiEaster Eggs (info1cup17_eastereggs)C++20
100 / 100
8 ms492 KiB
#include<bits/stdc++.h> #include "grader.h" #define maxn 515 #define fi first #define se second using namespace std; using ii = pair<int, int>; int x[maxn], id = 0; vector<int> adj[maxn]; void dfs(int u, int dad) { x[++id] = u; for (int v : adj[u]) if (v != dad) dfs(v, u); } int ASK(int mid) { vector<int> cr; for (int i = 1; i <= mid; i++) cr.emplace_back(x[i]); return query(cr); } int findEgg(int N, vector<ii> bridges) { for (ii x : bridges) { adj[x.fi].emplace_back(x.se); adj[x.se].emplace_back(x.fi); } dfs(1, 0); int lo = 0, hi = N; while (hi - lo > 1) { int mid = (lo + hi) >> 1; if (ASK(mid)) hi = mid; else lo = mid; } id = 0; for (int i = 1; i <= N; i++) adj[i].clear(); return x[hi]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...