Submission #170339

#TimeUsernameProblemLanguageResultExecution timeMemory
170339ngmhCave (IOI13_cave)C++11
100 / 100
275 ms632 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; int s[5005], d[5005], res; bool c[5005], pr, dw; void exploreCave(int N) { memset(d, -1, sizeof(d)); res = tryCombination(s); for(int i = 0; i < N; i++){ if(res == -1 or res > i) pr = true; else pr = false; int maxi = N, mini = -1; while(maxi - mini > 1) { int medi = (maxi + mini) / 2; for (int j = mini + 1; j <= medi; j++) { if (c[j]) continue; s[j] = !s[j]; } res = tryCombination(s); if (res == -1 or res > i) dw = true; else dw = false; if (dw == pr) mini = medi; else maxi = medi; pr = dw; } d[maxi] = i; c[maxi] = true; if(!dw){ s[maxi] = !s[maxi]; res = tryCombination(s); } } answer(s, d); }
#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...