Submission #298329

#TimeUsernameProblemLanguageResultExecution timeMemory
298329RayaabualjamalSplit the Attractions (IOI19_split)C++14
11 / 100
155 ms10912 KiB
#include "split.h"
#include <cassert>
 
#include <iostream> 
#include <set> 
#include <iterator>
#include <cmath>
#include <algorithm>
#include <vector> 
#include <map> 
#include <cstdio>
#define rep(i,a,b) for(int i = a; i<b; i++)
#define per(i,a,b) for(int i = a; i>=b; i--)
#define pb push_back
#define se second
using namespace std;
vector <int> ans;
vector < vector <int> > ve;
void bfs(int h, int d){
	set<int> s;
	s.insert(0);
	ans[0] = d;
	h--;
	while(!s.empty()&&h){
		int best = *s.begin();
		s.erase(s.begin());
		for(int k:ve[best]){
			if(h&&ans[k]!=d){
				ans[k]=d;
				h--;
				s.insert(k);
			}
		}
	}
	rep(i,0,ans.size()){
		if(ans[i]!=d){
			ans[i]=1;
			break;
		}
	}
	return;
}
vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
	if(b<c)ans.assign(n,3);
	if(b>=c)ans.assign(n,2);
	ve.resize(n+1);
	rep(i,0,p.size()){
		ve[p[i]].pb(q[i]);
		ve[q[i]].pb(p[i]);
	}
	bfs(min(b, c), (b<c?2:3));
	return ans;
}

Compilation message (stderr)

split.cpp: In function 'void bfs(int, int)':
split.cpp:12:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 | #define rep(i,a,b) for(int i = a; i<b; i++)
......
   35 |  rep(i,0,ans.size()){
      |      ~~~~~~~~~~~~~~                 
split.cpp:35:2: note: in expansion of macro 'rep'
   35 |  rep(i,0,ans.size()){
      |  ^~~
split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:12:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 | #define rep(i,a,b) for(int i = a; i<b; i++)
......
   47 |  rep(i,0,p.size()){
      |      ~~~~~~~~~~~~                   
split.cpp:47:2: note: in expansion of macro 'rep'
   47 |  rep(i,0,p.size()){
      |  ^~~
#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...