이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "insects.h"
#include<iostream>
#include<vector>
using namespace std;
#define forn(i, n) for(int i=0; i<(int)n; ++i)
#define PB push_back
int solve(vector<int> v, int k){
  int sz = (int)v.size();
  if(sz < k) return 0;
  int x = (sz+k)/(2*k);
  vector<int> us, nus;
  for(int el:v){
    move_inside(el);
    int ret = press_button();
    if(ret > x) move_outside(el), nus.PB(el);
    else us.PB(el);
  }
  for(int el:us) move_outside(el);
  if((int)us.size() == k*x) return x + solve(nus, k);
  else return solve(us, k);
}
int min_cardinality(int N) {
  vector<int> v;
  forn(i, N){
    move_inside(i);
    if(press_button() > 1) move_outside(i);
    else v.PB(i);
  }
  int sz = (int)v.size();
  for(int el:v) move_outside(el);
  vector<int> al(N);
  forn(i, N) al[i]=i;
  return solve(al, sz);
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |