Submission #1058106

#TimeUsernameProblemLanguageResultExecution timeMemory
1058106Dan4LifeRarest Insects (IOI22_insects)C++17
0 / 100
1 ms344 KiB
#include "insects.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define sz(a) (int)a.size() #define all(a) begin(a), end(a) using vi = vector<int>; int D, inside[3000]; int min_cardinality(int n) { for(int i = 0; i < n; i++){ move_inside(i); if(press_button()>1) move_outside(i); else inside[i]=1, D++; } int l = 1, r = n/D, p=1, tot=D; while(l<r){ int mid = (l+r+1)/2; vi undo; undo.clear(); for(int i = 0; i < n; i++) if(inside[i] > mid and mid<p) move_outside(i), inside[i]=0, tot--; for(int i = 0; i < n; i++){ if(inside[i] or tot==D*mid) continue; if(press_button()>mid) move_outside(i); else inside[i]=mid, tot++, undo.pb(i); } if(tot==D*mid) l = mid; else{ for(auto u : undo) move_outside(u); r=mid-1; } p=mid; } return l; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...