제출 #1223828

#제출 시각아이디문제언어결과실행 시간메모리
122382812baater동굴 (IOI13_cave)C++20
0 / 100
1 ms324 KiB
#include "cave.h" #include <vector> #include <iostream> using namespace std; int switches[5050]; bool done[5050]; int door[5050]; void flip(int l, int r) { for (int i = l; i < r; i++) { if (done[i]) continue; switches[i] = !switches[i]; } } void exploreCave(int N) { vector<int> position(N); bool open = 0; for (int i = 0; i < N; i++) { int lower = 0, upper = N; int currentFirst = tryCombination(switches); open = (currentFirst > i); while (upper - lower > 1) { int mid = (upper-lower+1)/2; flip(lower, mid); currentFirst = tryCombination(switches); if (open != (currentFirst > i)) { upper = mid+1; } else { lower = mid; } } done[lower] = true; door[lower] = i; } answer(switches, door); }
#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...