Submission #1216945

#TimeUsernameProblemLanguageResultExecution timeMemory
1216945lukasuliashviliCave (IOI13_cave)C++20
0 / 100
257 ms536 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; void exploreCave(int N) { vector<int> s(N, 0), fix(N, 0), ans(N, -1); vector<bool> used(N, false); for (int i = 0; i < N; ++i) { int known = tryCombination(s.data()); int l = 0, r = N - 1, door = -1; while (l <= r) { int mid = (l + r) / 2; for (int j = 0; j < N; ++j) { if (ans[j] != -1) { s[j] = fix[j]; } else if (j <= mid) { s[j] = 0; } else { s[j] = 1; } } int res = tryCombination(s.data()); if (res == -1 || res > i) { r = mid - 1; } else { door = res; l = mid + 1; } } ans[i] = door; used[door] = true; s = fix; s[door] = 0; int res0 = tryCombination(s.data()); fix[door] = (res0 == -1 || res0 > i) ? 0 : 1; } answer(fix.data(), ans.data()); }
#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...