Submission #99421

#TimeUsernameProblemLanguageResultExecution timeMemory
99421JustasLe동굴 (IOI13_cave)C++17
0 / 100
139 ms512 KiB
#include "cave.h"
#include <bits/stdc++.h>

using namespace std;

const int maxn = (int) 5e3 + 10;
int a[maxn], b[maxn], d[maxn];

void exploreCave(int n) {
	for (int i = 0; i < n; i++) {
		a[i] = b[i] = d[i] = 0;
	}
	for (int i = 0; i < n; i++) {
		int l = 0, r = n - 1, p, t;
		t = tryCombination(a);
		while (l < r) {
			int m = (l + r) / 2;
			for (int j = l; j <= m; j++) {
				if (!d[i]) {
					a[j] = !a[j];
				}
			}
			p = t, t = tryCombination(a);
			(p == i) ^ (p == t) ? r = m : l = m + 1;
		}
		if (t == i) {
			a[l] = !a[l];
		}
		b[l] = i, d[l] = 1;
	}
	answer(a, b);
}
#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...