제출 #859251

#제출 시각아이디문제언어결과실행 시간메모리
859251MasterDobby드문 곤충 (IOI22_insects)C++17
0 / 100
57 ms1160 KiB
#include <bits/stdc++.h> #include "insects.h" #define all(a) a.begin(),a.end() #define pii pair<int,int> using namespace std; using ll = long long; bitset<2020> ch; int min_cardinality(int n){ int cnt=1; ch[0]=1; move_inside(0); for(int i=1;i<n;i++){ move_inside(i); int num=press_button(); if(num==1){ ch[i]=1; cnt++; } else{ move_outside(i); } } // int ans=1; // for(int i=2;i<=n;i++){ // int cnt2=0; // for(int j=0;j<n;j++){ // if(cnt2==cnt) break; // if(ch[j]) continue; // move_inside(j); // int num=press_button(); // if(num==i){ // ch[j]=1; // cnt2++; // } // else{ // move_outside(j); // } // } // if(cnt2!=cnt) break; // ans=i; // } int l=1,r=n/cnt+1; vector<int> nw; while(l<r){ int mid=(l+r+1)/2; int cnt2=cnt; for(int j=0;j<n;j++){ if(cnt2==mid*cnt) break; if(ch[j]) continue; nw.push_back(j); move_inside(j); int num=press_button(); if(num<=mid){ ch[j]=1; cnt2++; } else{ move_outside(j); } } if(cnt2==mid*cnt) l=mid; else{ r=mid-1; for(auto x:nw) move_outside(x),ch[x]=0; } nw.clear(); } return l; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...