제출 #1132286

#제출 시각아이디문제언어결과실행 시간메모리
1132286viwlesxq동굴 (IOI13_cave)C++20
100 / 100
144 ms568 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; void exploreCave(int n) { int s[n], d[n]; vector<int> left; for (int i = 0; i < n; ++i) left.push_back(i); int i = 0; while (!left.empty()) { int c = 0; for (auto j : left) s[j] = 0; int t = tryCombination(s); if (t != -1 && t <= i) c = 1; int lo = -1, hi = left.size() - 1; while (lo + 1 < hi) { int mid = (lo + hi) / 2; for (int j = 0; j <= mid; ++j) s[left[j]] = c; for (int j = mid + 1; j < left.size(); ++j) s[left[j]] = c ^ 1; t = tryCombination(s); if (t != -1 && t <= i) lo = mid; else hi = mid; } d[left[hi]] = i++; s[left[hi]] = c; left.erase(left.begin() + hi); } 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...