Submission #440719

#TimeUsernameProblemLanguageResultExecution timeMemory
440719aryan12동굴 (IOI13_cave)C++17
0 / 100
62 ms372 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; void exploreCave(int N) { bool finalized[N]; int CurState[N], connectDoor[N]; for(int i = 0; i < N; i++) { finalized[i] = false; CurState[i] = 0; connectDoor[i] = -1; } for(int i = 0; i < N; i++) { int StateHere[N]; for(int j = 0; j < N; j++) { StateHere[j] = CurState[j]; } int l = 0, r = N - 1; int mid, ans = N; while(l <= r) { mid = (l + r) >> 1; for(int j = l; j <= mid; j++) { if(!finalized[j]) { StateHere[j] = 1 - StateHere[j]; } } int temp = tryCombination(StateHere); if(temp == i) { ans = mid; r = mid - 1; } else { for(int j = l; j <= r; j++) { if(!finalized[j]) { StateHere[j] = 1 - StateHere[j]; } } l = mid + 1; } } finalized[ans] = true; CurState[ans] = StateHere[ans]; connectDoor[ans] = i; } return answer(CurState, connectDoor); }
#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...