제출 #1333178

#제출 시각아이디문제언어결과실행 시간메모리
1333178hyyhRarest Insects (IOI22_insects)C++20
0 / 100
5 ms344 KiB
#include "insects.h"
#include <bitset>
#include <iostream>

using namespace std;

bitset<2000> bs;

int S;
int k = 0;

bool check(int n){
  int si = k;
  for(int i{};i < S;i++){
    if(bs[i]) continue;
    move_inside(i);
    si++;
    int p = press_button();
    if(p > n){
      move_outside(i);
      si--;
    }
  }
  //cout << si << " " << n << " " << k <<  endl;
  return (si == n*k);
}

int min_cardinality(int N) {
  S = N;
  for(int i{};i < N;i++){
    move_inside(i);
    int p = press_button();
    if(p == 2){
      move_outside(i);
    }
    else k++,bs[i] = 1;
  }
  int l = 1;
  int r = N/k + 1;
  int ans = 0;
  while(l <= r){
    int md = l+(r-l)/2;
    //cout << md << endl;
    if(check(md)) ans = max(ans,md),l = md+1;
    else r = md-1;
  }
  return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...