제출 #1235619

#제출 시각아이디문제언어결과실행 시간메모리
1235619Muhammad_Aneeq드문 곤충 (IOI22_insects)C++17
93.52 / 100
21 ms416 KiB
#include "insects.h" #include <vector> #include <bitset> #include <map> #include <set> #include <iostream> using namespace std; int const sz=2010; bitset<sz>ind,ind1,alw; int ask() { return press_button(); } int min_cardinality(int N) { int colors=0; for (int i=0;i<N;i++) { ind[i]=1; move_inside(i); colors++; if (ask()>1) { ind[i]=0; move_outside(i); colors--; } else alw[i]=1; } for (int i=0;i<N;i++) ind1[i]=1-ind[i]; int cnt=colors; int st=1,en=N/colors+1; while (st+1<en) { int mid=(st+en)/2; for (int i=0;i<N;i++) { if (cnt==colors*mid) break; if (ind1[i]) { ind[i]=1; cnt++; move_inside(i); if (ask()>mid) { move_outside(i); cnt--; ind[i]=0; } } } if (cnt==colors*mid) { st=mid; if (st+1>=en) break; for (int i=0;i<N;i++) { if (ind[i]) ind1[i]=0; } } else { en=mid; if (st+1>=en) break; for (int i=0;i<N;i++) { if (alw[i]) continue; if (ind[i]) { cnt--; move_outside(i); ind[i]=0; ind1[i]=1; } else ind1[i]=0; } } } return st; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...