Submission #1272251

#TimeUsernameProblemLanguageResultExecution timeMemory
1272251flaming_top1Birmingham (COCI20_birmingham)C++20
70 / 70
61 ms9172 KiB
#include <bits/stdc++.h> #define SPED \ ios_base::sync_with_stdio(false); \ cin.tie(0); \ cout.tie(0); #define endl "\n" #define fi first #define se second #define lint long long #define fami signed #define lore main #define freefire freopen const lint INF = 0x1f1f1f1f1f1f1f1f; const lint NEG = 0xE1E1E1E1E1E1E1E1; using namespace std; int n, m, q, k; int a[100005]; lint dist[100005], power[100005]; vector<int> adj[100005]; void bfs() { memset(dist, 0x1f, sizeof dist); queue<int> temp; for (int i = 1; i <= q; i++) { temp.emplace(a[i]); dist[a[i]] = 0; } while (!temp.empty()) { auto now = temp.front(); temp.pop(); for (auto i : adj[now]) if (dist[i] > dist[now] + 1) { dist[i] = dist[now] + 1; temp.emplace(i); } } } lint binaryu(lint x) { int l = 1, r = n, mid, ans = 0; while (l <= r) { mid = l + r >> 1; if (power[mid] >= x) { ans = mid; r = mid - 1; } else l = mid + 1; } return ans; } fami lore() { SPED; cin >> n >> m >> q >> k; for (int i = 1; i <= q; i++) cin >> a[i]; for (int i = 1; i <= m; i++) { int l, r; cin >> l >> r; adj[l].emplace_back(r); adj[r].emplace_back(l); } bfs(); for (lint i = 1; i <= n; i++) { power[i] = i * k; power[i] += power[i - 1]; } for (int i = 1; i <= n; i++) { if (dist[i] == 0) cout << 0 << " "; else { cout << binaryu(dist[i]) << " "; } } } // Let your soul wander where dreams are born.
#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...