Submission #1162530

#TimeUsernameProblemLanguageResultExecution timeMemory
1162530NewtonabcBirmingham (COCI20_birmingham)C++17
20 / 70
90 ms7832 KiB
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int d[N],tb[N]; bool vs[N]; vector<int> adj[N]; queue<int> q; int 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); } 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 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...