제출 #1283979

#제출 시각아이디문제언어결과실행 시간메모리
1283979mariaclara동굴 (IOI13_cave)C++20
100 / 100
391 ms504 KiB
#include "cave.h" void exploreCave(int N) { // ans(S, D) // D[i] é a porta conectada a alavanca i // 70000 perguntas // N <= 5000 int S[N], fixo[N], D[N]; for(int i = 0; i < N; i++) S[i] = fixo[i] = D[i] = 0; for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) if(!fixo[j]) S[j] = 0; int rsp = tryCombination(S), flag = 0; if(rsp <= i and rsp != -1) flag = 1; int l = 0, r = N-1; while(l < r) { int mid = (l+r)/2; for(int j = 0; j <= mid; j++) if(!fixo[j]) S[j] = flag; for(int j = mid+1; j < N; j++) if(!fixo[j]) S[j] = 1-flag; int rsp1 = tryCombination(S); if(rsp1 > i or rsp1 == -1) r = mid; else l = mid+1; } D[l] = i; S[l] = flag; fixo[l] = 1; } answer(S, D); return; }
#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...