#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+10;
int d[N],tb[N];
bool vs[N];
vector<int> adj[N];
queue<int> q;
signed main(){
    int n,m,qq,k,mx;
    cin>>n >>m >>qq >>k;
    tb[0]=0;
    for(int i=1;tb[i-1]<=n;i++){
        tb[i]=tb[i-1]+(k*i);
        mx=max(i,mx);
    }
    //day[i] go not exceed i
    for(int i=0;i<qq;i++){
        int inp;
        cin>>inp;
        vs[inp]=true;
        q.push(inp);
    }
    for(int i=0;i<m;i++){
        int u,v;
        cin>>u >>v;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    while(!q.empty()){
        int u=q.front();
        q.pop();
        for(auto v:adj[u]){
            if(vs[v]) continue;
            vs[v]=true;
            q.push(v);
            d[v]=d[u]+1;
        }
    }
    for(int i=1;i<=n;i++){
        int ind=lower_bound(tb,tb+mx+1,d[i])-tb;
        cout<<ind <<" ";
    }
    
}
| # | 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... |