#include <bits/stdc++.h>
#include "cave.h"
using namespace std;
#define ll int
void exploreCave(ll n){
    ll S[n], D[n], ans, l, r, ract, res;
    for(int i=0; i<n; i++) S[i]=D[i]=-1;
    for(int i=0; i<n; i++){
        ll act[n];
        for(int j=0; j<n; j++){
            if(S[j]!=-1) act[j]=S[j];
            else act[j]=0;
        }
        ans=tryCombination(act);
        if(ans==-1 || ans>i) ract=0;
        else ract=1;
        l=0; r=n-1; res=n;
        while(l<=r){
            ll m=(l+r)/2;
            for(int j=0; j<m; j++){
                if(S[j]!=-1) act[j]=S[j];
                else act[j]=ract^1;
            }
            for(int j=m; j<n; j++){
                if(S[j]!=-1) act[j]=S[j];
                else act[j]=ract;
            }
            ans=tryCombination(act);
            if(ans==-1 || ans>i){
                l=m+1;
                res=m;
            }else r=m-1;
        }
        D[res]=i;
        S[res]=ract;
    }
    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... |