Submission #1230532

#TimeUsernameProblemLanguageResultExecution timeMemory
1230532VMaksimoski008Rarest Insects (IOI22_insects)C++20
50 / 100
54 ms428 KiB
#include "insects.h" #include <bits/stdc++.h> using namespace std; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int min_cardinality(int n) { int l=1, r=n, ans=n; vector<int> v; for(int i=0; i<n; i++) { move_inside(i); if(press_button() == 2) { move_outside(i); } else { v.push_back(i); } } int diff = v.size(); for(int u : v) move_outside(u); if(diff == 1) return n; if(diff == n) return 1; r = n / diff; while(l <= r) { int mid = (l + r) / 2; int in = 0; vector<bool> vis(n); for(int i=0; i<n; i++) { move_inside(i); if(press_button() == mid + 1) { move_outside(i); } else in++, vis[i] = 1; } for(int i=0; i<n; i++) if(vis[i]) move_outside(i); // cout << mid << ": " << in << " " << diff << endl; if(in == mid * diff) ans = mid, l = mid + 1; else r = mid - 1; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...