# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1054621 | 2024-08-12T11:07:53 Z | shmax | Rarest Insects (IOI22_insects) | C++17 | 234 ms | 348 KB |
#include "insects.h" #include <bits/stdc++.h> using namespace std; #define len(x) ((int)(x.size())) #define all(x) x.begin(), x.end() template<typename T> using vec = vector<T>; template<typename T> using graph = vec<vec<T>>; mt19937 rnd(2312); int min_cardinality(int n) { graph<int> g(n); auto connect = [&](int u, int v) { g[u].push_back(v); g[v].push_back(u); }; vec<int> ord(n); int diff = 0; vec<int> in; for (int i = 0; i < n; i++) { move_inside(i); if (press_button() > 1) { move_outside(i); } else { diff++; in.push_back(i); } } for (auto x: in) { move_outside(x); } int tcnt = n; int tl = 1; int tr = tcnt; iota(all(ord), 0); auto check = [&](int x) { int cnt = 0; vec<int> ins; for (int i: ord) { move_inside(i); if (press_button() > x) { move_outside(i); } else { cnt++; ins.push_back(i); } if (cnt == x * diff) break; } for (auto y: ins) { move_outside(y); } tcnt = cnt; return cnt == x * diff; }; while (tl <= tr) { int tm = tr / diff; if (check(tm)) { tl = tm; tr = tm; } else { tr = tcnt; } } return tl; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 234 ms | 348 KB | Too many queries. |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 234 ms | 348 KB | Too many queries. |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 213 ms | 344 KB | Too many queries. |
2 | Halted | 0 ms | 0 KB | - |