| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1287985 | eri16 | Cave (IOI13_cave) | C++20 | 0 ms | 0 KiB |
void exploreCave(int n){
int d[n],v[n],fnd[n];
for (int i=0; i<n; i++){
v[i]=0;
fnd[i]=0;
}
int ans,cr1,cr2;
queue <int> q;
int tt=0;
int fns=0;
cr1=tryCombination(v);
for (int i=0; i<n; i++){
int l=0;
int r=n-1;
while(l!=r){
int md=(l+r)/2;
for(int i=l; i<=md; i++){if(fnd[i]==0){v[i]=1-v[i];}}
cr2=tryCombination(v);
if ((cr2!=i && cr1!=i) || cr2==cr1){l=min(r,md+1);}
else{r=md;}
cr1=cr2;
}
if (cr1==i){v[i]=1-v[i];}
fnd[i]=1;
d[l]=i;
cr2=tryCombination(v);
}
answer(v,d);
}
