# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
157288 | ZikXewen | 동굴 (IOI13_cave) | C++11 | 366 ms | 608 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "cave.h"
using namespace std;
void exploreCave(int N){
int st[N] = {}, nw[N] = {}, ga[N] = {}, ct = 0;
vector<int> lf(N);
iota(lf.begin(), lf.end(), 0);
for(int i = 0; i < N; i++) {
int l = 0, r = lf.size() - 1;
bool op = (tryCombination(st) == i);
while(l < r) {
int m = (l + r) >> 1;
copy(st, st + N, nw);
for(int j = l; j <= m; j++) nw[lf[j]] = !st[lf[j]];
if((tryCombination(nw) == i) != op) r = m;
else l = m + 1;
}
st[lf[l]] = op;
ga[lf[l]] = i;
lf.erase(lf.begin() + l);
}
answer(st, ga);
}
Compilation message (stderr)
# | 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... |