| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1324654 | kasamchi | Cave (IOI13_cave) | C++20 | 267 ms | 504 KiB |
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
void exploreCave(int N) {
int S[N] = {}, E[N] = {};
for (int tar = 0; tar < N; tar++) {
int s[N] = {};
for (int i = 0; i < tar; i++) {
s[E[i]] = S[E[i]];
}
int res = tryCombination(s), op;
if (res == -1 || res > tar) {
op = 0;
} else {
op = 1;
}
int ll = -1, rr = N - 1;
while (ll + 1 < rr) {
int mm = ll + (rr - ll) / 2;
for (int i = 0; i <= mm; i++) {
s[i] = op;
}
for (int i = mm + 1; i < N; i++) {
s[i] = !op;
}
for (int i = 0; i < tar; i++) {
s[E[i]] = S[E[i]];
}
res = tryCombination(s);
if (res == -1 || res > tar) {
rr = mm;
} else {
ll = mm;
}
}
E[tar] = rr;
S[E[tar]] = op;
}
int D[N] = {};
for (int i = 0; i < N; i++) {
D[E[i]] = i;
}
answer(S, D);
}
| # | 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... | ||||
