Submission #1103153

#TimeUsernameProblemLanguageResultExecution timeMemory
1103153coolboy19521Cave (IOI13_cave)C++17
100 / 100
503 ms596 KiB
#include "cave.h" using namespace std; void exploreCave(int N) { int s[N]; int d[N]; for (int i = 0; i < N; i ++) { s[i] = -1; d[i] = -1; } auto ask = [&s,N](int mi, int df){ int q[N]; for (int i = 0; i < N; i ++) { if (-1 != s[i]) { q[i] = s[i]; } else if (i <= mi) { q[i] = df; } else { q[i] = 1 - df; } } return tryCombination(q); }; for (int i = 0; i < N; i ++) { int r = ask(N - 1, 1); int df = ((i + 1 <= r || -1 == r) ? 1 : 0); int lo = 0; int hi = N - 1; while (lo < hi) { int mi = (lo + hi) / 2; int r = ask(mi, df); if (i + 1 <= r || -1 == r) { hi = mi; } else { lo = mi + 1; } } s[lo] = df; d[lo] = 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...