#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
const int MXN = 5003;
int S[MXN], ans[MXN];
void exploreCave(int n) {
vector<int> vec(n);
iota(vec.begin(), vec.end(), 0);
for(int i=0; i<n; i++) {
bool cl = tryCombination(S)==i;
int l=0, r=vec.size(), mid;
while(r-l>1) {
mid = l+r>>1;
for(int i=0; i<mid; i++)
S[vec[i]] = 1;
if((tryCombination(S)==i)!=cl)
r=mid;
else
l=mid;
for(int i=0; i<mid; i++)
S[vec[i]] = 0;
}
ans[vec[l]] = i;
if(cl) S[vec[l]] ^= 1;
vector<int> nw;
for(int i=0; i<vec.size(); i++)
if(i!=l)
nw.push_back(vec[i]);
vec = nw;
}
answer(S, ans);
}
# | 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... |