제출 #1047312

#제출 시각아이디문제언어결과실행 시간메모리
1047312vjudge1Split the Attractions (IOI19_split)C++17
0 / 100
2 ms12372 KiB
#include "split.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define pb push_back
const int N = 5e5;

vector<int> g[N];
vector<int> find_split(int n, int a, int b, int c, vector<int> Y, vector<int> X) {
	vector<int> res(n, 0);
	for(int i = 0; i < Y.size(); ++i){
		g[Y[i]].pb(X[i]);
		g[X[i]].pb(Y[i]);
	}

	queue<int> q;
	q.push(0);
	vector<bool> vis(n);
	vis[0] = 1;
	res[0] = 1;
	--a;
	while(!q.empty()){
		int v = q.front();
		q.pop();
		if(a > 0){
			res[v] = 1;
			--a;
		}else if(b > 0){
			res[v] = 2;
			--b;
		}
		for(int u: g[v]){
			if(!vis[u]){
				vis[u] = 1;
				q.push(u);
			}
		}
	}

	for(int &c: res) if(c == 0) c = 3;

	return res;
}

컴파일 시 표준 에러 (stderr) 메시지

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:11:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |  for(int i = 0; i < Y.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...