답안 #1070851

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1070851 2024-08-22T19:42:59 Z JoenPoenMan 드문 곤충 (IOI22_insects) C++17
0 / 100
271 ms 704 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: In function 'int min_cardinality(int)':
insects.cpp:34:20: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   34 |       if (S.size() < x*k) {
      |           ~~~~~~~~~^~~~~
insects.cpp:60:20: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   60 |       if (S.size() < x*k) {
      |           ~~~~~~~~~^~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 596 KB Output is correct
2 Correct 0 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 Correct 0 ms 344 KB Output is correct
6 Correct 3 ms 344 KB Output is correct
7 Correct 3 ms 344 KB Output is correct
8 Correct 3 ms 344 KB Output is correct
9 Incorrect 271 ms 344 KB Too many queries.
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 596 KB Output is correct
2 Correct 0 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 Correct 0 ms 344 KB Output is correct
6 Correct 3 ms 344 KB Output is correct
7 Correct 3 ms 344 KB Output is correct
8 Correct 3 ms 344 KB Output is correct
9 Incorrect 271 ms 344 KB Too many queries.
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 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 Partially correct 0 ms 344 KB Output is partially correct
6 Correct 1 ms 344 KB Output is correct
7 Partially correct 40 ms 592 KB Output is partially correct
8 Correct 16 ms 704 KB Output is correct
9 Incorrect 265 ms 596 KB Too many queries.
10 Halted 0 ms 0 KB -