Submission #845237

#TimeUsernameProblemLanguageResultExecution timeMemory
845237vjudge1Birmingham (COCI20_birmingham)C++17
0 / 70
55 ms10320 KiB
#ifndef Local #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") #endif #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include <ext/pb_ds/detail/standard_policies.hpp> #define int long long #define pb push_back #define lim 300000 #define till 40001 // # of primes till 1e6 = 7e4 using namespace std; using namespace __gnu_pbds; typedef tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update>ordered_set; using pii = array<int,2>; const int mod=1000000007ll; queue<int>q; int n,m,Q,k; int vis[100000]; bool did[100000]; vector<int>v[100000]; void dfs(int i,int to,int now){ if(now==to)q.push(i); if(now<to){ /* if(did[i])return; did[i]=1; */ for(int j:v[i]){ if(vis[j]==-1){ if(!now){ vis[j]=vis[i]+1; }else vis[j]=vis[i]; dfs(j,to,now+1); } } } } void solve(){ cin>>n>>m>>Q>>k; memset(vis,-1,sizeof(vis)); memset(did,0,sizeof(did)); for(int i=0;i<Q;i++){ int tem; cin>>tem; tem--; q.push(tem); vis[tem]=0; } for(int i=0;i<m;i++){ int x,y; cin>>x>>y; x--,y--; v[x].pb(y); v[y].pb(x); } //cerr<<v[2].size()<<"\n"; while(q.size()){ int top=q.front(); q.pop(); //cerr<<top<<" doing\n"; dfs(top,k*(vis[top]+1),0); } for(int i=0;i<n;i++){ cout<<vis[i]<<" "; } } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL);cout.tie(NULL); #ifdef Local #ifndef INTERACTIVE freopen("in","r",stdin); #endif freopen("out","w",stdout); #endif int t=1; //cin>>t; while (t--) { solve(); } }
#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...