Submission #772458

#TimeUsernameProblemLanguageResultExecution timeMemory
772458alex_2008드문 곤충 (IOI22_insects)C++17
0 / 100
128 ms336 KiB
#include "insects.h" #include <vector> #include <iostream> #include <set> using namespace std; const int N = 2023; bool used[N]; int min_cardinality(int N) { vector <int> unique; for (int i = 0; i < N; i++) { move_inside(i); if (press_button() > 1) { move_outside(i); } else unique.push_back(i); } set <int> in; for (auto it : unique) { used[it] = true; in.insert(it); } int M = N / (int)unique.size(); int l = 2, r = M, ans = 1; while (l <= r) { int mid = (l + r) / 2; vector <int> pushed; for (int i = 0; i < N; i++) { if (!used[i]) { move_inside(i); if (press_button() > mid) { move_outside(i); } else { pushed.push_back(i); in.insert(i); } } } if ((int)in.size() == mid * (int)unique.size()) { for (auto it : pushed) { used[it] = true; } ans = mid; l = mid + 1; } else { for (auto it : pushed) { move_outside(it); } r = mid - 1; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...