Submission #870496

#TimeUsernameProblemLanguageResultExecution timeMemory
870496AtabayRajabliCave (IOI13_cave)C++17
12 / 100
648 ms600 KiB
#include "cave.h" void exploreCave(int n) { int a[n], b[n], used[n], d[n]; for(int i = 0; i<n; i++) { a[i] = 0; b[i] = 0; used[i] = 0; } int l, r, mid; for(int i = 0; i<n; i++) { for(int i = 0; i<n; i++)if(!used[i])b[i] = 0; l = 0, r = n-1; int q = tryCombination(b); if(q == -1)q = n; while(l < r) { mid = (l + r) / 2; for(int i = 0; i<n; i++) { if(used[i])continue; if(mid+1 <= i && i <= r) b[i] ^= 1; } int k = tryCombination(b); if(k == -1)k = n; if((q == i && k > i) || (q > i && k == i))l = mid + 1; else r = mid; for(int i = 0; i<n; i++)if(!used[i])b[i] = 0; } d[i] = l; if(q > i)a[i] = a[i]; else a[i] = !a[i]; b[l] = a[i]; used[l] = 1; } answer(a, 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...