Submission #717288

#TimeUsernameProblemLanguageResultExecution timeMemory
717288JuanCave (IOI13_cave)C++14
0 / 100
135 ms444 KiB
#include<bits/stdc++.h> #include "cave.h" using namespace std; void exploreCave(int N){ vector<int> unprocessed; for(int i = 0; i < N; i++) unprocessed.push_back(i); int vask[N]={}, S[N]={}; int D[N]={}; for(int i = 0; i < N; i++){ for(int x : unprocessed) vask[x] = 0; if(tryCombination(vask)!=i){ for(int x : unprocessed) vask[x] = 1; } int l = 0, r = unprocessed.size()-1; while(l<=r){ int m = (l+r)>>1; for(int j = 0; j <= m; j++) vask[unprocessed[j]] = 1-vask[unprocessed[j]]; int ret = tryCombination(vask); if(ret==i) l = m+1; else r = m-1; for(int j = 0; j <= m; j++) vask[unprocessed[j]] = 1-vask[unprocessed[j]]; } int pos = unprocessed[l]; S[pos] = 1-vask[l]; D[pos] = i; vask[pos] = S[pos]; unprocessed.erase(unprocessed.begin()+l); } 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...