#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
void exploreCave(int n) {
    int s[n], d[n];
    vector<int> left;
    for (int i = 0; i < n; ++i)
        left.push_back(i);
    int i = 0;
    while (!left.empty()) {
        int c = 0;
        for (auto j : left)
            s[j] = 0;
        int t = tryCombination(s);
        if (t != -1 && t <= i) c = 1;
        int lo = -1, hi = left.size() - 1;
        while (lo + 1 < hi) {
            int mid = (lo + hi) / 2;
            for (int j = 0; j <= mid; ++j)
                s[left[j]] = c;
            for (int j = mid + 1; j < left.size(); ++j)
                s[left[j]] = c ^ 1;
            t = tryCombination(s);
            if (t != -1 && t <= i) lo = mid;
            else hi = mid;
        }
        d[left[hi]] = i++;
        s[left[hi]] = c;
        left.erase(left.begin() + hi);
    }
    answer(s, d);
}
| # | 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... |