제출 #1333179

#제출 시각아이디문제언어결과실행 시간메모리
1333179hyyh드문 곤충 (IOI22_insects)C++20
10 / 100
105 ms348 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;
  int ans = 0;
  for(int i{l};i <= r;i++){
    if(check(i)) ans = max(ans,i);
  }
  // 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...