제출 #1202866

#제출 시각아이디문제언어결과실행 시간메모리
1202866AMel0n동굴 (IOI13_cave)C++20
0 / 100
93 ms324 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
#define FOR(i,N) for(ll i = 0; i < N; i++)
#define all(x) (x).begin(), (x).end()
// #define F first 
// #define S second


#include "cave.h"

int N;
int S[5005], D[5005];   // D[i] door that switch i is linked to
void skibidi(int d) {
    int ret = tryCombination(S);
    int l = 0, r = N;
    while(l < r) {
        int m = (l + r) / 2;
        for(int i = l; i <= m; i++) {
            if (D[i] != -1) S[i] = 1 - S[i];
        }
        if (tryCombination(S) == ret) {
            r = m;
        } else {
            l = m + 1;
        }
    }
    D[l] = d;
}

void exploreCave(int N) {
    ::N = N;
    fill(D, D+5005, -1);
    FOR(door, N) skibidi(door);
    answer(S, D);
}



// signed main() {
//     cin.tie(0); ios::sync_with_stdio(false);

// }
#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...