This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "cave.h"
using namespace std;
int n, door[1000000], sw[100000], l , r, mid, ans[100000], first, second;
void exploreCave(int n) {
	for (int x = 0; x < n; x++) {
		first = tryCombination(door);
		l = 0, r = n-1;
		while (l != r) {
			mid = (l+r)/2;
			for (int i = l; i <= r; i++) if (!ans[i]) door[i] ^= 1;
			second = tryCombination(door);
			for (int i = l; i <= r; i++) if (!ans[i]) door[i] ^= 1;
			if (first == second) l = mid+1;
			else r = mid;
		}
		ans[l]++;
		sw[l] = x;
		if (first <= x || first != -1) door[l] = 1;
	}
	answer(sw, door);
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |