Submission #1327797

#TimeUsernameProblemLanguageResultExecution timeMemory
1327797lucasdmyCave (IOI13_cave)C++20
0 / 100
269 ms504 KiB
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
void exploreCave(int n){
    int state[n], resp[n];
    for(int k=0;k<n;k++){
        state[n]=-1;
        resp[n]=-1;
    }
    for(int k=0;k<n;k++){
        int p1=0, p2=n-1, my_state=0;
        int query[n];
        for(int i=0;i<n;i++){
            if(state[i]!=-1){
                query[i]=state[i];
            }else{
                state[i]=0;
            }
        }
        int aux=tryCombination(query);
        if(aux==k){
            my_state=1;
        }
        while(p1!=p2){
            int m=(p1+p2)/2;
            for(int i=0;i<n;i++){
                if(state[i]!=-1){
                    query[i]=state[i];
                }else if(p1<=i and i<=m){
                    state[i]=my_state;
                }else{
                    state[i]=(my_state+1)%2;
                }
            }
            if(tryCombination(query)==k){
                p1=m+1;
            }else{
                p2=m;
            }
        }
        state[p2]=my_state;
        resp[p2]=k;
    }
    answer(state, resp);
}
#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...