Submission #169291

#TimeUsernameProblemLanguageResultExecution timeMemory
169291AlexLuchianovCave (IOI13_cave)C++14
51 / 100
558 ms504 KiB
#include "cave.h" #include <vector> using namespace std; void exploreCave(int N) { int sol[N] = {0}; int door[N] = {0}, seen[N] = {0}; for(int i = 0; i < N; i++){ if(i != tryCombination(sol)) for(int j = 0; j < N; j++) if(seen[j] == 0) sol[j] ^= 1; int from = 0, to = N - 1; while(from < to){ int mid = (from + to) / 2; for(int j = 0; j <= mid; j++) if(seen[j] == 0) sol[j] ^= 1; int result = tryCombination(sol); for(int j = 0; j <= mid; j++) if(seen[j] == 0) sol[j] ^= 1; if(i == result) from = mid + 1; else to = mid; } if(i == tryCombination(sol)) for(int j = 0; j < N; j++) if(seen[j] == 0) sol[j] ^= 1; door[from] = i; seen[from] = 1; } answer(sol, 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...