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 "cave.h"
void exploreCave(int N) {
int S[N],D[N];
for(int i=0;i<N;i++){
S[i]=0;
D[i]=-1;
}
int i=0;
while(i<N){
int ini=0, fim=N-1,atual=-1;
int meio=(ini+fim)/2;
if(tryCombination(S)>i or tryCombination(S)==-1){
atual=0;
}
else{
atual=1;
}
while(ini<fim){
meio=(ini+fim)/2;
for(int j=ini;j<=meio;j++){
if(D[j]==-1)S[j]=1;
}
int a=tryCombination(S);
if((atual==1 and (a>i or a==-1)) or (atual==0 and a==i)){
for(int j=ini;j<=meio;j++){
if(D[j]==-1)S[j]=0;
}
fim=meio;
}
else if((atual==1 and a==i) or (atual==0 and (a>i or a==-1))){
if(ini==fim-1){
D[fim]=i;
}
for(int j=ini;j<=meio;j++){
if(D[j]==-1)S[j]=0;
}
ini=meio+1;
}
}
S[ini]=atual;
D[ini]=i;
i++;
}
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... |