Submission #968705

#TimeUsernameProblemLanguageResultExecution timeMemory
968705__Davit__Cave (IOI13_cave)C++17
0 / 100
503 ms596 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++) {
        int ina = 0, inb = N - 1, ans = N - 1;
        x = tryCombination(a);
        if (x == i) {
            for (int j = 0; j < N; j++) {
                if (chkpnel[j])continue;
                a[j] ^= 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...