Submission #630613

#TimeUsernameProblemLanguageResultExecution timeMemory
630613ttamxCave (IOI13_cave)C++17
100 / 100
881 ms460 KiB
#include "cave.h"
#include<bits/stdc++.h>

using namespace std;

void exploreCave(int n) {
    int s[n]={},d[n]={};
    bool vis[n]={};
    for(int i=0;i<n;++i){
        int st=(tryCombination(s)==i);
        int l=0,r=n-1;
        while(l<r){
            int m=(l+r)>>1;
            int tmp[n];
            for(int j=0;j<n;++j)if(!vis[j])tmp[j]=st;else tmp[j]=s[j];
            for(int j=l;j<=m;++j)if(!vis[j])tmp[j]=1-st;
            if(tryCombination(tmp)==i)r=m;
            else l=m+1;
        }
        s[r]=st;
        vis[r]=1;
        d[r]=i;
    }
    answer(s,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...