Submission #147636

# Submission time Handle Problem Language Result Execution time Memory
147636 2019-08-30T10:41:22 Z nandonathaniel Split the Attractions (IOI19_split) C++14
11 / 100
114 ms 10872 KB
#include "split.h"
#include <bits/stdc++.h>
using namespace std;
const int MAXN=100005;
int cntB,warna[MAXN];
vector<int> adj[MAXN];
bool visited[MAXN];
int brp=0;
bool keluar=false;
void dfs(int now){
	//cout << "now " << now << endl;
	if(brp==cntB)return;
	visited[now]=true;
	warna[now]=2;
	brp++;
	for(int i=0;i<adj[now].size();i++){
		int nxt=adj[now][i];
		if(!visited[nxt]){
			dfs(nxt);
		}
	}
}

vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
	memset(visited,0,sizeof(visited));
	memset(warna,0,sizeof(warna));
	cntB=b;
	vector<int> res;
	for(int i=0;i<p.size();i++){
		adj[p[i]].push_back(q[i]);
		adj[q[i]].push_back(p[i]);
	}
	dfs(0);
	bool sudah=false;
	for(int i=0;i<n;i++){
		if(warna[i]==0){
			if(!sudah){
				warna[i]=1;
				sudah=true;
			}
			else warna[i]=3;
		}
		res.push_back(warna[i]);
	}
	return res;
}

Compilation message

split.cpp: In function 'void dfs(int)':
split.cpp:16:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<adj[now].size();i++){
              ~^~~~~~~~~~~~~~~~
split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:29:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<p.size();i++){
              ~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 4 ms 3192 KB ok, correct split
2 Correct 4 ms 3192 KB ok, correct split
3 Correct 5 ms 3192 KB ok, correct split
4 Incorrect 5 ms 3192 KB invalid split: #1=1, #2=1, #3=2
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 4 ms 3192 KB ok, correct split
2 Correct 4 ms 3192 KB ok, correct split
3 Correct 5 ms 3192 KB ok, correct split
4 Correct 105 ms 9680 KB ok, correct split
5 Correct 72 ms 8692 KB ok, correct split
6 Correct 70 ms 8568 KB ok, correct split
7 Correct 76 ms 10104 KB ok, correct split
8 Correct 114 ms 10872 KB ok, correct split
9 Correct 85 ms 8696 KB ok, correct split
10 Correct 73 ms 9072 KB ok, correct split
11 Correct 60 ms 9044 KB ok, correct split
12 Correct 62 ms 9044 KB ok, correct split
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 3192 KB invalid split: #1=1, #2=1, #3=3
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 3192 KB invalid split: #1=1, #2=2, #3=6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 4 ms 3192 KB ok, correct split
2 Correct 4 ms 3192 KB ok, correct split
3 Correct 5 ms 3192 KB ok, correct split
4 Incorrect 5 ms 3192 KB invalid split: #1=1, #2=1, #3=2
5 Halted 0 ms 0 KB -