Submission #1021257

#TimeUsernameProblemLanguageResultExecution timeMemory
1021257vjudge1Split the Attractions (IOI19_split)C++17
7 / 100
56 ms15964 KiB
#include "split.h"
#include<bits/stdc++.h>
using namespace std;
using lli=long long int;
#define pb push_back
#define deb(x) cout<<#x<<": "<<x<<endl;

vector<int> ans;
vector<bool> visited;
void dfs(int x, vector<vector<int>>& adj, int &cont,  int &a, int &b, int &c){

	if(cont<a){
		ans[x]=1;
	}
	else if(cont<a+b){
		ans[x]=2;
	}
	else ans[x]=3;
	for(int y: adj[x]){
		if(visited[y]) continue;
		visited[y]=true;
		cont++;
		dfs(y, adj,cont,a,b,c);
	}
}

vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
	ans.clear();
	visited.clear();
	ans.resize(n,0);
	visited.resize(n,0);
	visited[0]=true;
	int cont=0;
	vector<vector<int>> adj(n);
	for(int i=0; i<p.size(); ++i){
		adj[p[i]].pb(q[i]);
		adj[q[i]].pb(p[i]);
	}
	dfs(0,adj,cont,a,b,c);
	return ans;
}

Compilation message (stderr)

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