Submission #1006243

#TimeUsernameProblemLanguageResultExecution timeMemory
1006243mdubCave (IOI13_cave)C++14
0 / 100
189 ms348 KiB
#include "cave.h" #include <bits/stdc++.h> void exploreCave(int N) { int corrDoor[N]; for (int i =0 ; i < N; i++) corrDoor[i] = -1; int switches[N]; for (int i = 0; i < N; i++) { switches[i] = 0; } for (int door = 0; door < N; door++) { bool opened; bool newState; int left = 0; int right = N-1; if (tryCombination(switches) <= door) { opened = false; } else opened = true; while (left < right) { int mid = (left + right) / 2; for (int i = left; i <= mid; i++) { if (corrDoor[i] == -1) { switches[i] = (switches[i] + 1)/2; } } if (tryCombination(switches) <= door) { newState = false; } else newState = true; if (newState != opened) { right = mid; } else { left = mid + 1; } opened = newState; } corrDoor[left] = door; if (!opened) switches[left] = (switches[left] + 1) % 2; } answer(switches, corrDoor); }
#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...