제출 #1348079

#제출 시각아이디문제언어결과실행 시간메모리
1348079jump드문 곤충 (IOI22_insects)C++20
컴파일 에러
0 ms0 KiB


void move_inside(int i);
void move_outside(int i);
int press_button();
int min_cardinality(int N);

#include <iostream>
#include <vector>
#include <set>
#include <map>
int size;
int type;
bool markBS[2010];
int cnt=0;
std::map<int,bool> cache;
bool bs(int lim){
  std::set<int> ins;
  if(cache.find(lim)!=cache.end())return cache[lim];
  for(int i=0;i<size;i++){
    if(markBS[i])continue;
    move_inside(i);
    if(press_button()>lim){
      move_outside(i);
    }
    else{
      cnt+=1;
      ins.insert(i);
    }
    if(cnt>=lim*type){
      for(auto mu:ins){
        markBS[mu]=true;
      }
      cache[lim]=1;
      return true;
    }
    //std::cout <<cnt << '*';
  }
  for(int i=0;i<size;i++){
    markBS[i]=true;
  }
  for(auto mu:ins){
    markBS[mu]=false;
    move_outside(mu);
    cnt-=1;
  }
  ins.clear();
  cache[lim]=0;
  return false;
}

int pbv;
std::set<int> clearList;
int clear(){
  for(auto c:clearList){
    move_outside(c);
  }
  clearList.clear();
  return 0;
}
int minL(){
  int count = 0;
  for(int i=0;i<size;i++){
    move_inside(i);
    pbv = press_button();
    if(pbv>1){
      move_outside(i);
    }
    else{
      count+=1;
      clearList.insert(i);
      markBS[i]=true;
      cnt+=1;
    }
  }
  return count;
}
int min_cardinality(int N) {
  size=N;
  type = minL();
  if(type==1)return size;
  int l=1,r=(size/type)-1;
  int bstUse = 0;
  while(l<r){
    bstUse+=1;
    int mid = (l+r+1)/2;
    if(bs(mid)){
      l=mid;
    }
    else{
      r=mid-1;
    }
    //std::cout << cnt  << ' ' << l << ' ' << mid << ' ' << r << '\n';
  }
  //std::cout << bstUse <<"*\n";
  return

컴파일 시 표준 에러 (stderr) 메시지

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:96:9: error: expected primary-expression at end of input
   96 |   return
      |         ^
insects.cpp:96:9: error: expected ';' at end of input
   96 |   return
      |         ^
      |         ;
insects.cpp:96:9: error: expected '}' at end of input
insects.cpp:78:28: note: to match this '{'
   78 | int min_cardinality(int N) {
      |                            ^