#include "cave.h"
#include <iostream>
int s[5000], a[5000], b[5000];
int max(int x, int y) {
return x > y ? x : y;
}
void exploreCave(int n) {
for (int i = 0; i < n; i++) a[i] = -1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) s[j] = max(0, a[j]);
int skibidi = tryCombination(s);
int gean = skibidi >= i+1 || skibidi == -1;
int l = 0, r = n - 1, mid, ans;
while (l <= r) {
mid = (l + r) >> 1;
for (int i = 0; i < n; i++) {
if (a[i] != -1) s[i] = a[i];
else s[i] = (i <= mid)^gean;
}
int t = tryCombination(s);
if (t > i || t == -1) r = mid - 1, ans = mid;
else l = mid + 1;
}
a[ans] = gean^1;
b[ans] = i;
}
answer(a, b);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |