Submission #845128

#TimeUsernameProblemLanguageResultExecution timeMemory
845128vjudge1Birmingham (COCI20_birmingham)C++17
70 / 70
77 ms9892 KiB
// author: erray #include <bits/stdc++.h> #ifdef DEBUG #include "debug.h" #else #define debug(...) void(37) #endif using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int N, M, Q, K; cin >> N >> M >> Q >> K; vector<int> S(Q); for (int i = 0; i < Q; ++i) { cin >> S[i]; --S[i]; } vector<vector<int>> g(N); for (int i = 0; i < M; ++i) { int X, Y; cin >> X >> Y; --X, --Y; g[X].push_back(Y); g[Y].push_back(X); } vector<int> dist(N, -1); for (auto x : S) { dist[x] = 0; } for (int it = 0; it < N; ++it) { int v = S[it]; for (auto u : g[v]) { if (dist[u] == -1) { dist[u] = dist[v] + 1; S.push_back(u); } } } for (int i = 0; i < N; ++i) { int low = 0, high = int(1e4); while (low < high) { int mid = (low + high) >> 1; if (mid * (mid + 1) / 2 >= (dist[i] + K - 1) / K) { high = mid; } else { low = mid + 1; } } cout << low << ' '; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...