Submission #97630

#TimeUsernameProblemLanguageResultExecution timeMemory
97630tincamateiCave (IOI13_cave)C++14
0 / 100
810 ms1044 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; const int MAX_N = 5000; vector<int> pos; int combination[MAX_N]; int S[MAX_N], D[MAX_N]; void exploreCave(int N) { for(int i = 0; i < N; ++i) pos.push_back(i); for(int i = 0; i < N; ++i) { for(auto it: pos) combination[it] = 1; int rez = tryCombination(combination); bool correctState = false; if(rez == -1 || rez > i) correctState = true; int st = -1, dr = pos.size(); while(dr - st > 1) { int mid = (st + dr) / 2; for(int i = 0; i <= mid; ++i) combination[pos[i]] = correctState; for(int i = mid + 1; i < N; ++i) combination[pos[i]] = 1 - correctState; int rez = tryCombination(combination); if(rez == -1 || rez > i) dr = mid; else st = mid; } D[pos[dr]] = i; S[pos[dr]] = correctState; combination[pos[dr]] = correctState; pos.erase(pos.begin() + dr); } 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...