Submission #1232103

#TimeUsernameProblemLanguageResultExecution timeMemory
1232103badge881Rarest Insects (IOI22_insects)C++20
25 / 100
98 ms420 KiB
#include "insects.h" #include <bits/stdc++.h> using namespace std; const int C = 30; int min_cardinality(int N) { vector<int> in; for (int i = 0; i < N; i++) { move_inside(i); if (press_button() == 2) move_outside(i); else in.push_back(i); } int k = in.size(); for (int i : in) move_outside(i); in.clear(); if (k <= C) { vector<int> all; for (int i = 0; i < N; i++) all.push_back(i); int ans = N; while (!all.empty()) { vector<int> rem; int cur = 0; while (!all.empty()) { int i = all.back(); all.pop_back(); move_inside(i); int res = press_button(); if (res == cur) { move_outside(i); rem.push_back(i); } else in.push_back(i); cur = res; } ans = min(ans, cur); all = rem; for (int IN : in) move_outside(IN); in.clear(); } return ans; } else { int ans = 0; vector<int> all; for (int i = 0; i < N; i++) all.push_back(i); while (true) { vector<int> rem; for (int i : all) { move_inside(i); if (press_button() == 2) move_outside(i), rem.push_back(i); else in.push_back(i); } if (in.size() != k) return ans; ans++; for (int i : in) move_outside(i); in.clear(); all = rem; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...