제출 #154824

#제출 시각아이디문제언어결과실행 시간메모리
154824Nightlight동굴 (IOI13_cave)C++14
0 / 100
623 ms476 KiB
#include "cave.h" #include <bits/stdc++.h> bool found[70005];int ketemu; bool ANS[70005]; int longs; int binser1(){ int l = 0, r = longs-1, res = -1; while(l <= r){ int mid = (l+r)/2; int tmp[longs]; for(int i = 0; i < longs; i++)tmp[i] = (l <= i && mid >= i) ? 1 : 0; if(tryCombination(tmp) > ketemu){ r = mid+1; res = mid; }else l = mid; } return res; } int binser2(){ int l = 0, r = longs-1, res = -1; while(l <= r){ int mid = (l+r)/2; int tmp[longs]; for(int i = 0; i < longs; i++)tmp[i] = (l <= i && mid >= i) ? 0 : 1; if(tryCombination(tmp) > ketemu){ r = mid+1; res = mid; }else l = mid; } return res; } void exploreCave(int N) { int Switch[N]; int door[N]; longs = N; for(ketemu = 0; ketemu < N; ketemu++){ int res = binser1(); if(res != -1){ door[ketemu] = res; ANS[res] = 1; found[res] = 1; Switch[res] = 1; continue; } res = binser2(); door[ketemu] = res; Switch[res] = 1; found[res] = 1; } answer(Switch, 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...