답안 #1070840

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1070840 2024-08-22T19:25:04 Z JoenPoenMan 드문 곤충 (IOI22_insects) C++17
0 / 100
289 ms 344 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 != 0) {
      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) {
          if (_n == 1) break;
          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;
      }
      
  }
  return y;
}

Compilation message

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:32:20: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   32 |       if (S.size() < x*k) {
      |           ~~~~~~~~~^~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Incorrect 289 ms 344 KB Too many queries.
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Incorrect 289 ms 344 KB Too many queries.
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 254 ms 344 KB Too many queries.
2 Halted 0 ms 0 KB -