Submission #1199698

#TimeUsernameProblemLanguageResultExecution timeMemory
1199698Hamed_GhaffariCave (IOI13_cave)C++20
100 / 100
206 ms592 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; const int MXN = 5003; int S[MXN], ans[MXN]; void exploreCave(int n) { vector<int> vec(n); iota(vec.begin(), vec.end(), 0); for(int i=0; i<n; i++) { bool cl = tryCombination(S)==i; int l=0, r=vec.size(), mid; while(r-l>1) { mid = l+r>>1; for(int i=0; i<mid; i++) S[vec[i]] = 1; if((tryCombination(S)==i)!=cl) r=mid; else l=mid; for(int i=0; i<mid; i++) S[vec[i]] = 0; } ans[vec[l]] = i; if(cl) S[vec[l]] ^= 1; vector<int> nw; for(int i=0; i<vec.size(); i++) if(i!=l) nw.push_back(vec[i]); vec = nw; } answer(S, ans); }
#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...