This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define sz(x) ((int)x.size())
#define PB push_back
using namespace std;
const int N = 100100;
const int oo = 2e9;
queue<int> q;
vector<int> g[N];
int n, m, qq, k, dst[N];
int answer(int vl){
    int sum = 0, nw = k, kol = 0;
    while (vl > sum){
        sum += nw;
        nw += k;
        kol++;
    }
    return kol;
}
int main(){
    ios_base::sync_with_stdio(0); cin.tie(0);
//    freopen("in.txt","r",stdin);
    cin >> n >> m >> qq >> k;
    fill(dst, dst + n, oo);
    for (int i = 0; i < qq; i++){
        int x; cin >> x;
        x--;
        dst[x] = 0;
        q.push(x);
    }
    for (int i = 0; i < m; i++){
        int x, y; cin >> x >> y;
        x--; y--;
        g[x].PB(y);
        g[y].PB(x);
    }
    while (sz(q)){
        int v = q.front(); q.pop();
        for (int u : g[v])
            if (dst[u] == oo){
                dst[u] = dst[v] + 1;
                q.push(u);
            }
    }
    for (int i = 0; i < n; i++)
        cout << answer(dst[i]) << " ";
    return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |