Submission #1287987

#TimeUsernameProblemLanguageResultExecution timeMemory
1287987eri16Cave (IOI13_cave)C++20
12 / 100
102 ms524 KiB
#include <bits/stdc++.h>
#include "cave.h"
using namespace std;

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;
        
        cr1=tryCombination(v);
        
    }

    answer(v,d);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...