Submission #1333421

#TimeUsernameProblemLanguageResultExecution timeMemory
1333421ahmetlbktd4Birmingham (COCI20_birmingham)C++20
70 / 70
116 ms8716 KiB
#include "bits/stdc++.h"
using namespace std;

const int N = 2e5+5;

int n,m,k,q1;
int d[N],p[N];
bool v[N];

vector <int> g[N];

int main(){
    queue <int> q;
    cin >> n >> m >> q1 >> k;
    while (q1--){
        int a;
        cin >> a;
        if (!v[a])
        q.push(a);
        v[a] = 1;
    }
    for (int i = 0;i < m;i++){
        int u,v1;
        cin >> u >> v1;
        g[u].push_back(v1);
        g[v1].push_back(u);
    }
    while (!q.empty()){
        int nd = q.front();
        q.pop();
        for (int u : g[nd]){
            if (v[u])
            continue;
            v[u] = 1;
            q.push(u);
            d[u] = d[nd]+1;
        } 
    }
    int h = 1,j = 1;
    while (h < N){
        for (int i = h;i < h+j*k;i++){
            if (i<N)
            p[i] = j; 
        }
        h+=j*k;
        j++;
    }
    for (int i = 1;i <= n;i++){
        cout << p[d[i]] << " ";
    }
}
#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...