Submission #1235609

#TimeUsernameProblemLanguageResultExecution timeMemory
1235609Muhammad_AneeqRarest Insects (IOI22_insects)C++17
53.13 / 100
49 ms416 KiB
#include "insects.h" #include <vector> #include <bitset> #include <map> #include <set> #include <iostream> using namespace std; int const sz=2010; vector<bool>ind(sz,0); map<vector<bool>,int>seen; int ask() { return press_button(); } int min_cardinality(int N) { seen={}; 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--; } } int cnt=colors; int st=1,en=N/colors+1; while (st+1<en) { set<int>rem; int mid=(st+en)/2; for (int i=0;i<N;i++) { if (cnt==colors*mid) break; if (ind[i]==0&&rem.find(i)==rem.end()) { ind[i]=1; cnt++; move_inside(i); if (ask()>mid) { move_outside(i); cnt--; ind[i]=0; } } } if (cnt==colors*mid) st=mid; else { cnt=0; for (int i=0;i<N;i++) { if (ind[i]) { move_outside(i); ind[i]=0; } } en=mid; } } return st; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...