Submission #1223839

#TimeUsernameProblemLanguageResultExecution timeMemory
122383912baaterCave (IOI13_cave)C++20
0 / 100
41 ms524 KiB
#include "cave.h" #include <vector> #include <iostream> using namespace std; int switches[5050]; bool done[5050]; int door[5050]; void flip(int l, int r) { for (int i = l; i < r; i++) { if (done[i]) continue; switches[i] = !switches[i]; } } void exploreCave(int N) { vector<int> position(N); bool open = 0; for (int i = 0; i < N; i++) { // cout << i << "\n"; int lower = 0, upper = N; int currentFirst = tryCombination(switches); open = (currentFirst > i); while (upper - lower > 1) { int mid = (upper-lower+1)>>1; // printf("Trying %d, %d\n", upper, lower); flip(lower, lower+mid); currentFirst = tryCombination(switches); if (open != (currentFirst > i)) { upper = lower+mid; } else { lower = lower+mid; } } done[lower] = true; door[lower] = i; } answer(switches, door); }
#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...