Submission #422715

#TimeUsernameProblemLanguageResultExecution timeMemory
422715MeGustaElArroz23Split the Attractions (IOI19_split)C++14
11 / 100
126 ms16240 KiB
#include "split.h"
#include <cstdio>
#include <cassert>

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<bool,bool> pbb;
typedef vector<pbb> vbb;
typedef pair<int,int> pii;
typedef vector<pii> vii;
typedef vector<bool> vb;

const ll INF=1000000001;

vi solve1(int n, int a, int b, int c, vvi conexiones){
	vi res(n,0);
	queue<int> cola;
	cola.push(0);
	vb porvisitar(n,true);
	while (cola.size()){
		int x=cola.front();
		cola.pop();
		if (porvisitar[x]){
			porvisitar[x]=false;
			if (b){
				res[x]=2;
				b--;
			}
			else if (c){
				res[x]=3;
				c--;
			}
			else res[x]=1;

			for (int y:conexiones[x]) cola.push(y);
		}
	}
	return res;
}

vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
	vector<int> res;
	vvi conexiones(n);
	int m=p.size();
	for (int i=0;i<m;i++){
		conexiones[p[i]].push_back(q[i]);
		conexiones[q[i]].push_back(p[i]);
	}
	if (a==1) return solve1(n,a,b,c,conexiones);

}

Compilation message (stderr)

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:47:14: warning: control reaches end of non-void function [-Wreturn-type]
   47 |  vector<int> res;
      |              ^~~
#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...