#include "cave.h"
using namespace std;
int binPret(int vrata,int N,int* preset,int* mark,int num){
int test[N];
int l=0,r=N-1;
while(r>l){
int mid=(l+r)>>1;
for(int i=0;i<N;i++){
if(i>=l&&mid>=i&&mark[i]==-1)test[i]=num;
else test[i]=preset[i];
}
test[mid]=num;
if(tryCombination(test)>vrata)r=mid;
else l=mid+1;
}
return l;
}
void exploreCave(int N){
int zero[N],one[N],d[N];
for(int i=0;i<N;i++){d[i]=-1,zero[i]=0;one[i]=1;}
for(int i=0;i<N;i++){
int indvrata;
if(tryCombination(zero)>i){
indvrata=binPret(i,N,one,d,0);
one[indvrata]=0;
}
else{
indvrata=binPret(i,N,zero,d,1);
zero[indvrata]=1;
}
d[indvrata]=i;
}
answer(zero,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... |