Submission #1284705

#TimeUsernameProblemLanguageResultExecution timeMemory
1284705rafamiuneCave (IOI13_cave)C++20
100 / 100
104 ms528 KiB
#include "cave.h" #include<bits/stdc++.h> using namespace std; void exploreCave(int N) { int s[N]; int d[N]; int marc[N]; for(int i = 0; i < N; i++) { s[i] = 0; d[i] = -1; marc[i] = 0; } int prev = tryCombination(s); for(int i = 0; i < N; i++) { int l = 0, r = N-1; while(l != r) { int mid = (l+r)/2; for(int i = l; i <= mid; i++) if(!marc[i]) s[i] = 1 - s[i]; int cur = tryCombination(s); if((cur == i && prev != i) || (cur != i && prev == i)) r = mid; else l = min(r,mid + 1); prev = cur; } if(prev == i) { s[l] = 1 - s[l]; prev = tryCombination(s); } marc[l] = 1; d[l] = i; } 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...