Submission #845387

#TimeUsernameProblemLanguageResultExecution timeMemory
845387vjudge1Birmingham (COCI20_birmingham)C++17
70 / 70
153 ms14136 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
int32_t main(){
	int n, m, _q, k;
	cin>>n>>m>>_q>>k;
	vector<vector<int>> arr(n);
	queue<pair<int,int>> q;
	for (int i = 0; i < _q; ++i)
	{
		int x;cin>>x;
		q.push({x-1,0});
	}
	for (int i = 0; i < m; i++){
		int u,v;cin>>u>>v;
		arr[u-1].push_back(v-1);
		arr[v-1].push_back(u-1);
	}
	vector<int> dp(n,-1);
	while (q.size()){
		int node = q.front().first;
		int w = q.front().second;
		q.pop();
		if (dp[node]!=-1) continue;
		dp[node]=w;
		for (int i = 0; i < arr[node].size(); i++){
			if (dp[arr[node][i]]!=-1) continue;
			q.push({arr[node][i],w+1});
		}
	}
	for (int i = 0; i < dp.size(); i++){
		int cnt = (dp[i]+k-1)/k;
		int x = max(0ll,(int)sqrt(cnt)-5);
		while (x*(x+1)/2<cnt){
			x++;
		}
		cout<<x<<" ";
	}
	cout<<endl;
}

Compilation message (stderr)

birmingham.cpp: In function 'int32_t main()':
birmingham.cpp:26:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |   for (int i = 0; i < arr[node].size(); i++){
      |                   ~~^~~~~~~~~~~~~~~~~~
birmingham.cpp:31:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |  for (int i = 0; i < dp.size(); 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...