답안 #1070848

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1070848 2024-08-22T19:40:58 Z JoenPoenMan 드문 곤충 (IOI22_insects) C++17
컴파일 오류
0 ms 0 KB
#include "insects.h"

#include <bits/stdc++.h>

using namespace std;

int min_cardinality(int n) {
  int k = 0;
  vector<int> S;
  for (int i = 0; i< n; i++) {
      move_inside(i);
      if (press_button() == 2) {
          move_outside(i);
      } else S.push_back(i);
  }
  k = S.size();
  
  
  int _n = n, y = 0;
  vector<bool> active(n, 1);
  while (_n > 8) { 
      int x = (_n+2*k-1)/(2*k);
      for (int i : S) move_outside(i);
      S.clear();
      for (int i = 0; i< n; i++) if (active[i]) {
          move_inside(i);
          if (press_button() == x+1) {
              move_outside(i);
          } else S.push_back(i);
      }
      
      if (S.size() < x*k) {
          active.assign(n, 0);
          _n = 0;
          for (int i : S) active[i] = 1, _n++;
      } else {
          for (int i : S) {
              _n -= active[i];
              active[i] = 0;
          }
          y += x;
      }
      
  }
  
  int l = 0, h = _n;
  while (l < h) {
      int x = (l+h+1)/2;
      for (int i : S) move_outside(i);
      S.clear();
      for (int i = 0; i< n; i++) if (active[i]) {
          move_inside(i);
          if (press_button() == x+1) {
              move_outside(i);
          } else S.push_back(i);
      }
      
      if (S.size() < x*k) {
          h = x-1;
      } else {
          l = x;
      }
  }
  return y+l;
}

Compilation message

insects.cpp:21:2: error: extended character   is not valid in an identifier
   21 |   while (_n > 8) {
      |  ^
insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:21:2: error: '\U000000a0while' was not declared in this scope
   21 |   while (_n > 8) {
      |  ^~~~~~
insects.cpp:58:20: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   58 |       if (S.size() < x*k) {
      |           ~~~~~~~~~^~~~~