Submission #1283965

#TimeUsernameProblemLanguageResultExecution timeMemory
1283965mariaclaraCave (IOI13_cave)C++20
0 / 100
302 ms492 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) 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...