제출 #733129

#제출 시각아이디문제언어결과실행 시간메모리
733129vjudge1Birmingham (COCI20_birmingham)C++17
70 / 70
139 ms16536 KiB
#include<bits/stdc++.h> #define int long long #define MOD 1000000007 #define all(x) x.begin(),x.end() #define ff first #define ss second #define pb push_back #define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); using namespace std; vector<int>v[100005]; int ans[100005],vis[100005]; int32_t main(){ fast; int n,m,x,k; cin>>n>>m>>x>>k; vector<int>v2; for(int i=0;i<=100000;i++)v2.pb(i*(i+1)/2*k); queue<pair<int,int>>q; while(x--){ int y; cin>>y; q.push({y,0}); } for(int i=0;i<m;i++){ int a,b; cin>>a>>b; v[a].pb(b); v[b].pb(a); } while(!q.empty()){ int node=q.front().ff; int d=q.front().ss; q.pop(); if(vis[node])continue; vis[node]=1; int ind=lower_bound(all(v2),d)-v2.begin(); ans[node]=ind; for(auto i:v[node]){ if(vis[i])continue; q.push({i,d+1}); } } for(int i=1;i<=n;i++)cout<<ans[i]<<" "; cout<<endl; }
#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...