Submission #960280

#TimeUsernameProblemLanguageResultExecution timeMemory
960280SoSmolStenCave (IOI13_cave)C++17
100 / 100
558 ms600 KiB
#include "cave.h" const int SZ = 5010; int s[SZ]; int d[SZ]; void flip(int i){ while(i >= 0){ if(d[i] == -1){ s[i] = !s[i]; } --i; } } void exploreCave(int N) { for(int i = 0; i < N; ++i){ s[i] = 0; d[i] = -1; } for (int i = 0; i < N; ++i) { int v = tryCombination(s); if (v == i) flip(N); int low = 0, high = N - 1, p = -1; while (low <= high) { int mid = (low + high) >> 1; flip(mid); v = tryCombination(s); flip(mid); if (v == i) high = (p = mid) - 1; else low = mid + 1; } d[p] = 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...