# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
786786 | 2023-07-18T12:49:32 Z | borisAngelov | Easter Eggs (info1cup17_eastereggs) | C++17 | 15 ms | 364 KB |
#include "grader.h" #include <bits/stdc++.h> using namespace std; const int maxn = 520; int n; vector<int> g[maxn]; vector<int> in_order; void dfs(int node, int par) { in_order.push_back(node); for (auto next_node : g[node]) { if (next_node != par) { dfs(next_node, node); } } } int findEgg(int N, vector<pair<int, int>> edges) { n = N; for (int i = 1; i <= n; ++i) { g[i].clear(); } in_order.clear(); for (int i = 0; i < edges.size(); ++i) { int x = edges[i].first; int y = edges[i].second; g[x].push_back(y); g[y].push_back(x); } dfs(1, -1); int l = 1; int r = n; int cnt = 0; while (l <= r) { ++cnt; int mid = (l + r) / 2; vector<int> ask; for (int i = 0; i < mid; ++i) { ask.push_back(in_order[i]); } if (query(ask) == 1) { r = mid - 1; } else { l = mid + 1; } if (cnt > log2(n)) { break; } } return in_order[l - 1]; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Partially correct | 1 ms | 208 KB | Number of queries: 5 |
2 | Partially correct | 1 ms | 256 KB | Number of queries: 5 |
3 | Partially correct | 1 ms | 208 KB | Number of queries: 5 |
4 | Partially correct | 1 ms | 208 KB | Number of queries: 5 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 336 KB | Number of queries: 9 |
2 | Correct | 10 ms | 352 KB | Number of queries: 9 |
3 | Correct | 14 ms | 344 KB | Number of queries: 9 |
4 | Correct | 13 ms | 336 KB | Number of queries: 9 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Partially correct | 15 ms | 336 KB | Number of queries: 10 |
2 | Correct | 12 ms | 356 KB | Number of queries: 9 |
3 | Partially correct | 14 ms | 352 KB | Number of queries: 10 |
4 | Partially correct | 12 ms | 364 KB | Number of queries: 10 |