답안 #298396

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
298396 2020-09-12T19:06:53 Z Abelyan Split the Attractions (IOI19_split) C++17
18 / 100
133 ms 31736 KB
#include "split.h"
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;

//#pragma GCC target("avx2")
//#pragma GCC optimization("unroll-loops")
//#pragma GCC optimize("O2")
//#pragma GCC optimize("O3")

#define FOR(i,a) for (int i=0;i<(a);++i)
#define FORD(i,a) for (int i=(a)-1;i>=0;i--)
#define FORT(i,a,b) for (int i=(a);i<=(b);++i)
#define FORTD(i,b,a) for (int i=(b);i>=(a);--i)
#define trav(i,v) for (auto i : v)
#define all(v) v.begin(),v.end()
#define ad push_back
#define fr first
#define sc second
#define mpr(a,b) make_pair(a,b)
#define pir pair<int,int>
#define make_unique(v) v.erase(unique(all(v)),v.end())
using namespace std;

vector<int> ans,g[1000006];
int a,b;
bool col[1000006];

void dfsb(int v){
	col[v]=true;
	ans[v]=2;
	b--;
	if (!b)return;
	trav(to,g[v]){
		if (col[to])continue;
		dfsb(to);
		if (!b)return;
	}
}
void dfsa(int v){
	col[v]=true;
	ans[v]=1;
	a--;
	if (!a)return;
	trav(to,g[v]){
		if (col[to])continue;
		dfsa(to);
		if (!a)return;
	}
}

vector<int> find_split(int n, int A, int B, int C, vector<int> p, vector<int> q) {
	ans.resize(n);
	fill(all(ans),3);
	a=A;
	b=B;
	
	FOR(i,p.size()){
		g[p[i]].ad(q[i]);
		g[q[i]].ad(p[i]);
	}
	dfsb(0);
	FOR(i,n){
		if (!col[i]){
			dfsa(i);
			break;
		}
	}
	return ans;
}

Compilation message

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:14:32: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 | #define FOR(i,a) for (int i=0;i<(a);++i)
      |                                ^
split.cpp:61:2: note: in expansion of macro 'FOR'
   61 |  FOR(i,p.size()){
      |  ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23808 KB ok, correct split
2 Correct 16 ms 23808 KB ok, correct split
3 Correct 16 ms 23808 KB ok, correct split
4 Correct 16 ms 23808 KB ok, correct split
5 Correct 17 ms 23808 KB ok, correct split
6 Correct 16 ms 23808 KB ok, correct split
7 Correct 96 ms 30456 KB ok, correct split
8 Correct 100 ms 31480 KB ok, correct split
9 Correct 99 ms 30712 KB ok, correct split
10 Correct 86 ms 29304 KB ok, correct split
11 Correct 100 ms 30460 KB ok, correct split
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23936 KB ok, correct split
2 Correct 16 ms 23808 KB ok, correct split
3 Correct 17 ms 23808 KB ok, correct split
4 Correct 115 ms 30456 KB ok, correct split
5 Correct 86 ms 29532 KB ok, correct split
6 Correct 85 ms 29304 KB ok, correct split
7 Correct 92 ms 30968 KB ok, correct split
8 Correct 133 ms 31736 KB ok, correct split
9 Correct 92 ms 29560 KB ok, correct split
10 Correct 69 ms 29808 KB ok, correct split
11 Correct 72 ms 29808 KB ok, correct split
12 Correct 72 ms 29808 KB ok, correct split
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23808 KB ok, correct split
2 Incorrect 86 ms 29504 KB invalid split: #1=867, #2=40000, #3=59133
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 16 ms 23936 KB invalid split: #1=1, #2=2, #3=6
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23808 KB ok, correct split
2 Correct 16 ms 23808 KB ok, correct split
3 Correct 16 ms 23808 KB ok, correct split
4 Correct 16 ms 23808 KB ok, correct split
5 Correct 17 ms 23808 KB ok, correct split
6 Correct 16 ms 23808 KB ok, correct split
7 Correct 96 ms 30456 KB ok, correct split
8 Correct 100 ms 31480 KB ok, correct split
9 Correct 99 ms 30712 KB ok, correct split
10 Correct 86 ms 29304 KB ok, correct split
11 Correct 100 ms 30460 KB ok, correct split
12 Correct 16 ms 23936 KB ok, correct split
13 Correct 16 ms 23808 KB ok, correct split
14 Correct 17 ms 23808 KB ok, correct split
15 Correct 115 ms 30456 KB ok, correct split
16 Correct 86 ms 29532 KB ok, correct split
17 Correct 85 ms 29304 KB ok, correct split
18 Correct 92 ms 30968 KB ok, correct split
19 Correct 133 ms 31736 KB ok, correct split
20 Correct 92 ms 29560 KB ok, correct split
21 Correct 69 ms 29808 KB ok, correct split
22 Correct 72 ms 29808 KB ok, correct split
23 Correct 72 ms 29808 KB ok, correct split
24 Correct 16 ms 23808 KB ok, correct split
25 Incorrect 86 ms 29504 KB invalid split: #1=867, #2=40000, #3=59133
26 Halted 0 ms 0 KB -