Submission #598875

#TimeUsernameProblemLanguageResultExecution timeMemory
598875pakhomoveeCave (IOI13_cave)C++17
13 / 100
657 ms392 KiB
#include "cave.h"
#include <algorithm>

using namespace std;

void exploreCave(int N) {
    int match[N];
    for (int i = 0; i < N; ++i) {
        int S[N];
        int l = -1, r = N - 1;
        while (l + 1 < r) {
            int m = (l + r) / 2;
            fill(S, S + N, 1);
            fill(S, S + m + 1, 0);
            for (int j = 0; j < i; ++j) {
                S[match[j]] = 0;
            }
            if (tryCombination(S) == i) {
                l = m;
            } else {
                r = m;
            }
        }
        match[i] = r;
    }
    int res[N];
    fill(res, res + N, 0);
    int revmatch[N];
    for (int i = 0; i < N; ++i) {
        revmatch[match[i]] = i;
    }
    answer(res, revmatch);
}
#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...