제출 #994770

#제출 시각아이디문제언어결과실행 시간메모리
994770stdfloatCave (IOI13_cave)C++17
13 / 100
184 ms524 KiB
#include <bits/stdc++.h>
#include "cave.h"
using namespace std;

void exploreCave(int n) {
    int a[n], b[n];
    for (int i = 0; i < n; i++)
        a[i] = b[i] = 0;

    for (int z = 0; z < n; z++) {
        int x = tryCombination(a);

        if (x == -1) break;

        int l = 0, r = n - 1;
        while (l <= r) {
            int md = (l + r) >> 1;

            int v[n];
            for (int i = 0; i < n; i++)
                v[i] = (a[i] || (md < i && i <= r));

            int y = tryCombination(v);
            if (y == -1 || x < y) l = md + 1;
            else {
                if (r == md) break;
                r = md;
            }
        }

        a[l] = 1; b[l] = x;
    }

    for (int i = 0; i < n; i++) {
        if (a[i]) continue;

        a[i] = 1;
        b[i] = tryCombination(a);
        a[i] = 0;
    }

    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...