Submission #1211917

#TimeUsernameProblemLanguageResultExecution timeMemory
1211917simona1230Rarest Insects (IOI22_insects)C++20
0 / 100
0 ms412 KiB
#include "insects.h" #include <bits/stdc++.h> using namespace std; int min_cardinality(int N) { int d=0; vector<int> v; for(int i=0;i<N;i++) { move_inside(i); int x=press_button(); if(x==2) move_outside(i); else v.push_back(i),d++; } for(int i=0;i<v.size();i++) move_outside(v[i]); vector<int> s; for(int i=0;i<N;i++) s.push_back(i); int b=0; int ans=1,l=2,r=N/d; while(l<=r) { int m=(l+r)/2; //cout<<l<<" "<<r<<" "<<m<<endl; vector<int> s1,s2; for(int i=0;i<s.size();i++) { //cout<<s[i]<<" "; move_inside(s[i]); int x=press_button(); if(x==m+1) { s1.push_back(s[i]); move_outside(s[i]); } else { s2.push_back(s[i]); } } //cout<<endl; //cout<<"= "<<s2.size()<<" "<<d<<" "<<m-ans<<endl; if(s2.size()==d*(m-ans)) { ans=m; s=s1; l=m+1; } else { for(int i=0;i<s2.size();i++) move_outside(s2[i]); r=m-1,s=s2; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...