Submission #1263315

#TimeUsernameProblemLanguageResultExecution timeMemory
1263315DeltaStructCave (IOI13_cave)C++20
100 / 100
579 ms552 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; void exploreCave(int n){ vector<int> A(n),R(n),B(n,1),D(n); auto f = [&n](vector<int>& A) -> int { int t = tryCombination(A.data()); return (t==-1?n:t); }; for (int i(0);i < n;++i){ A = R; for (int k(0);k < n;++k) if (B[k]) A[k] = 1; int t = (f(A)>i),l = 0,r = n,mid; while(r-l>1){ mid = (l+r)/2; A = R; for (int k(0);k < n;++k) if (B[k]) A[k] = (l<=k&&k<mid?t:1-t); if (f(A)>i) r = mid; else l = mid; } D[l] = i,R[l] = t,B[l] = 0; } answer(R.data(),D.data()); }
#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...