# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1048794 | 2024-08-08T09:34:02 Z | Whisper | Easter Eggs (info1cup17_eastereggs) | C++17 | 1 ms | 600 KB |
#include <bits/stdc++.h> #include "grader.h" using namespace std; using ll = long long; int findEgg (int _N, vector<pair<int, int>> bridges){ int N = _N; vector<vector<int>> G(N + 5); for (pair<int, int>&x : bridges){ int u = x.first, v = x.second; G[u].emplace_back(v); G[v].emplace_back(u); } vector<int> minDist(N + 5), rev(N + 5); queue<int> q; q.emplace(1); minDist[1] = 1; rev[1] = 1; int cnt = 1; while(q.size()){ int u = q.front(); q.pop(); for (int &v : G[u]){ if (!minDist[v]){ q.emplace(v); minDist[v] = ++cnt; rev[minDist[v]] = v; } } } int l = 1, r = N; auto check = [&](int x) -> bool{ vector<int> node; for (int i = 1; i <= N; ++i) if(minDist[i] <= x){ node.emplace_back(x); } return query(node); }; int ans = 0; while (l <= r){ int m = (l + r) >> 1; if(check(m)) ans = m, r = m - 1; else l = m + 1; } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 600 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 600 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 600 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |