Submission #968702

#TimeUsernameProblemLanguageResultExecution timeMemory
968702__Davit__Cave (IOI13_cave)C++17
0 / 100
14 ms348 KiB
#include "cave.h"
#include <bits/stdc++.h>

using namespace std;

void exploreCave(int N) {
    int a[N];
    int b[N];
    for (int i = 0; i < N; i++)a[i] = 0;
    for (int i = 0; i < N; i++)b[i] = 0;
    vector<bool> chkpnel(N, 0);
    int x;
    for (int i = 0; i < N; i++) {
        x = tryCombination(a);
        if (x == i) {
            int ina = 0, inb = N - 1, ans = N - 1;
            while (ina <= inb) {
                int mid = (ina + inb) >> 1;
                for (int j = 0; j < mid; j++) {
                    if (chkpnel[j])continue;
                    a[j] ^= 1;
                }
                x = tryCombination(a);
                for (int j = 0; j < mid; j++) {
                    if (chkpnel[j])continue;
                    a[j] ^= 1;
                }
                if (x == i) {
                    ans = mid;
                    inb = mid - 1;
                } else {
                    ina = mid + 1;
                }
            }
            b[ans] = i;
            chkpnel[ans] = 1;
        }
    }

    answer(a, b);
}
#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...