제출 #1223778

#제출 시각아이디문제언어결과실행 시간메모리
1223778banganRarest Insects (IOI22_insects)C++20
25 / 100
98 ms424 KiB
#include "insects.h" #include <bits/stdc++.h> using namespace std; #define pb push_back // mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); 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.pb(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.pb(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.pb(i); } else { in.pb(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.pb(i); while (true) { vector<int> rem; for (int i : all) { move_inside(i); if (press_button() == 2) move_outside(i), rem.pb(i); else in.pb(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...