제출 #376101

#제출 시각아이디문제언어결과실행 시간메모리
376101gustasonCave (IOI13_cave)C++14
0 / 100
95 ms492 KiB
#include "cave.h"

void exploreCave(int N) {
    int S[N], D[N];
    for(int i = 0; i < N; i++) {
        S[i] = 0;
        D[i] = -1;
    }
    for(int i = 0; i < N; i++) {
        if (tryCombination(S) < i) {
            for(int i = 0; i < N; i++) {
                if (D[i] != -1) continue;
                S[i] ^= 1;
            }
        }
        int l = 0, r = N, ans = r;
        while(l <= r) {
            int mid = (l + r) / 2;
            if (l == r) {
                ans = mid;
                break;
            }
            for(int i = l; i < mid; i++) {
                if (D[i] != -1) continue;
                S[i] ^= 1;
            }
            if (tryCombination(S) < i) {
                r = mid - 1;
            } else {
                l = mid + 1;
            }
            for(int i = l; i < mid; i++) {
                if (D[i] != -1) continue;
                S[i] ^= 1;
            }
        }
        D[i] = ans;
    }
    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...