Submission #1233182

#TimeUsernameProblemLanguageResultExecution timeMemory
1233182nicolo_010Rarest Insects (IOI22_insects)C++20
25 / 100
99 ms460 KiB
#include <bits/stdc++.h> #include "insects.h" using namespace std; template <typename T> using v = vector<T>; using pii = pair<int, int>; using ll = long long; #define rep(i, k, n) for (int i = k; i < n; i++) const int mxN = 32; v<int> gr; int case1(int N) { map<int, int> mp; for (auto x : gr) { move_outside(x); mp[x] = 1; } int ans = 1e9; for (auto x : gr) { int cmp = 1; move_inside(x); rep(i, 0, N) { if (mp.count(i) || i == x) continue; move_inside(i); int a = press_button(); if (a == 2) { cmp++; } move_outside(i); } move_outside(x); ans = min(ans, cmp); } return ans; } int min_cardinality(int N) { map<int, int> mp; int in = 0; int d; rep(b, 1, N) { rep(i, 0, N) { if (mp.count(i)) continue; move_inside(i); in++; int a = press_button(); if (a > b) { move_outside(i); in--; } else { mp[i] = 1; } if (a == b && b == 1) { gr.push_back(i); } } if (b == 1) d = in; if (d <= mxN) { return case1(N); } if (in < b*d) return b-1; } return N; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...