제출 #467283

#제출 시각아이디문제언어결과실행 시간메모리
467283xt0r3동굴 (IOI13_cave)C++14
100 / 100
265 ms548 KiB
#include "cave.h" #include<bits/stdc++.h> using namespace std; int s[5005], d[5005], fix[5005]; void exploreCave(int N) { fill(fix, fix + 5005, -1); for(int i = 0; i < N; i++){ int lo = 0, hi = N - 1; int was = tryCombination(s); while(lo < hi){ int mid = (lo + hi) / 2; for(int j = lo; j <= mid; j++){ if(fix[j] == -1){ s[j] ^= 1; } } int is = tryCombination(s); if((is == i) != (was == i)){ hi = mid; } else{ lo = mid + 1; } was = is; } d[lo] = i; fix[lo] = (s[lo] ^ ((int)(was == i))); s[lo] = fix[lo]; } 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...