Submission #1290744

#TimeUsernameProblemLanguageResultExecution timeMemory
1290744SofiatpcSplit the Attractions (IOI19_split)C++20
7 / 100
48 ms15760 KiB
#include "split.h"
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 1e5+5;
vector<int> adj[MAXN];
int marc[MAXN];

vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
	vector<int> res; res.resize(n);

	for(int i = 0; i < p.size(); i++){
		adj[p[i]].push_back(q[i]);
		adj[q[i]].push_back(p[i]);
	}

	int ini = 0;
	for(int i = 0; i < n; i++)
		if(adj[i].size() == 1){ini = i; break;}

	while(a--){
		marc[ini] = 1; res[ini] = 1;
		for(int viz : adj[ini])
			if(!marc[viz])ini = viz;
	}

	while(b--){
		marc[ini] = 1; res[ini] = 2;
		for(int viz : adj[ini])
			if(!marc[viz])ini = viz;
	}

	while(c--){
		marc[ini] = 1; res[ini] = 3;
		for(int viz : adj[ini])
			if(!marc[viz])ini = viz;
	}

	return 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...