Submission #1197214

#TimeUsernameProblemLanguageResultExecution timeMemory
1197214SpyrosAlivCave (IOI13_cave)C++17
12 / 100
232 ms536 KiB
#include "cave.h" using namespace std; void exploreCave(int N) { int n = N; int corr[n], rep[n]; for (int i = 0; i < n; i++) { corr[i] = rep[i] = -1; } int nxtQ[n]; bool done[n]; for (int j = 0; j < n; j++) { nxtQ[j] = 0; done[j] = false; } for (int i = 0; i < n; i++) { bool closed = (tryCombination(nxtQ) == i); int lo = 0, hi = n-1; int finIdx = 0; while (lo <= hi) { int mid = (lo + hi) / 2; int nxt[n]; for (int j = 0; j < n; j++) nxt[j] = nxtQ[j]; for (int j = 0; j <= mid; j++) { if (!done[j]) nxt[j] = 1; } bool c2 = (tryCombination(nxt) == i); if (c2 == closed) { lo = mid+1; } else { hi = mid-1; finIdx = mid; } } rep[i] = finIdx; if (closed) corr[i] = 1; else corr[i] = 0; nxtQ[rep[i]] = corr[i]; done[rep[i]] = true; } answer(corr, rep); }
#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...