제출 #710100

#제출 시각아이디문제언어결과실행 시간메모리
710100sleepntsheepBirmingham (COCI20_birmingham)C++17
70 / 70
112 ms10388 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

#define N 100005
int n, m, q, k, d[N];
vector<int> g[N];
vector<int> st;

int main()
{
    memset(d, 63, sizeof d);
	cin.tie(0); ios::sync_with_stdio(0);
    cin >> n >> m >> q >> k;

    for (ll i = k, x = 0; x < 1e7; x += i, i += k)
    {
        st.push_back(x);
    }
    
    priority_queue<pair<int, int>> Q;
    for (int i = 0, x; i < q; i++)
    {
        cin >> x;
        Q.emplace(0, x);
        d[x] = 0;
    }

    for (int i = 0, u, v; i < m; i++)
    {
        cin >> u >> v;
        g[u].push_back(v);
        g[v].push_back(u);
    }

    while (Q.size())
    {
        auto [c, u] = Q.top(); Q.pop(); c = -c;
        if (d[u] != c) continue;
        for (auto v : g[u])
        {
            if (c + 1 < d[v])
            {
                d[v] = d[u]+1;
                Q.emplace(-d[v], v);
            }
        }
    }

    for (int i = 1; i <= n; i++)
    {
        auto it = lower_bound(st.begin(), st.end(), d[i]) - st.begin();
        cout << it << ' ';
    }

	return 0;
}


#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...