제출 #1324645

#제출 시각아이디문제언어결과실행 시간메모리
1324645kasamchiCave (IOI13_cave)C++20
0 / 100
256 ms504 KiB
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;

void exploreCave(int N) {
    int S[5000] = {}, E[5000] = {};
    for (int tar = 0; tar < N; tar++) {
        int s[5000] = {};
        for (int i = 0; i < tar; i++) {
            s[E[i]] = S[E[i]];
        }
        int res = tryCombination(s), op;
        if (res == -1 || res > tar) {
            op = 0;
        } else {
            op = 1;
        }

        int ll = -1, rr = N - 1;
        while (ll + 1 < rr) {
            int mm = ll + (rr - ll) / 2;
            for (int i = 0; i < mm; i++) {
                s[i] = op;
            }
            for (int i = 0; i < tar; i++) {
                s[E[i]] = S[E[i]];
            }
            res = tryCombination(s);
            if (res == -1 || res > tar) {
                rr = mm;
            } else {
                ll = mm;
            }
        }
        E[tar] = rr;
        S[E[tar]] = op;
    }

    int D[5000];
    for (int i = 0; i < N; i++) {
        D[E[i]] = i;
    }
    answer(S, D);
}
#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...