Submission #335219

#TimeUsernameProblemLanguageResultExecution timeMemory
335219ronnithBirmingham (COCI20_birmingham)C++14
70 / 70
135 ms11500 KiB
#include <bits/stdc++.h>
typedef long long ll;
#define sz(a) int((a).size())
#define trav(a, b) for(auto a : b)
#define pb push_back
using namespace std;

int main(){
	// ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	ll n, m, Q, k;
	scanf("%lld%lld%lld%lld", &n, &m, &Q, &k);
	vector<int> adj[n];
	queue<int> q;
	ll level[n], vis[n];
	for(int i = 0;i < n;i ++){
		level[i] = vis[i] = 0;
	}
	for(int i = 0;i < Q;i ++){
		int x;scanf("%d", &x);
		x --;
		q.push(x);
		vis[x] = 1;
		level[x] = 0;
	}
	for(int i = 0;i < m;i ++){
		int x, y;
		scanf("%d%d", &x, &y);
		x --;y --;
		adj[x].pb(y);
		adj[y].pb(x);
	}
	while(sz(q)){
		auto x = q.front();
		q.pop();
		trav(e, adj[x]){
			if(vis[e] == 0){
				vis[e] = 1;
				level[e] = level[x] + 1;
				q.push(e);
			}
		}
	}
	for(int i = 0;i < n;i ++){
		// cerr << level[i] << '\n';
		ll val = ceil((sqrt(k * k + 8 * k * level[i]) - k )/ (2 * k));
		printf("%lld ", val);
	}
	puts("");
	return 0;
}

Compilation message (stderr)

birmingham.cpp: In function 'int main()':
birmingham.cpp:11:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   11 |  scanf("%lld%lld%lld%lld", &n, &m, &Q, &k);
      |  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
birmingham.cpp:19:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   19 |   int x;scanf("%d", &x);
      |         ~~~~~^~~~~~~~~~
birmingham.cpp:27:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   27 |   scanf("%d%d", &x, &y);
      |   ~~~~~^~~~~~~~~~~~~~~~
#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...