제출 #627623

#제출 시각아이디문제언어결과실행 시간메모리
627623ollel드문 곤충 (IOI22_insects)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i = a; i < b; i++) int query() { return use_machine(); } vi perm; set<int> in; void add(int x) { if (in.find(x) != in.end()) return; in.insert(x); move_inside(perm[x]); } void rem(int x) { if (in.find(x) == in.end()) return; in.erase(x); move_outside(perm[x]); } int min_cardinality(int n) { perm.resize(n); rep(i,0,n) perm[i] = i; auto rng = std::default_random_engine {}; shuffle(perm.begin(), perm.end(), rng); rep(i,0,n) { add(i); if (query() > 1) rem(i); } int types = in.size(); int low = 1, high = n / types + 1, mid; vb never(n, false), always(n, false); while (high - low > 1) { mid = (low + high) / 2; rep(i,0,n) { if (never[i]) continue; add(i); if (query() > mid) rem(i); } if (in.size() == mid * types) { low = mid; for (auto i : in) always[i] = true; } else { high = mid; rep(i,0,n) if (in.find(i) == in.end()) never[i] = true; rep(i,0,n) if (!always[i]) rem(i); } } return mid; }

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

insects.cpp: In function 'int query()':
insects.cpp:7:10: error: 'use_machine' was not declared in this scope
    7 |   return use_machine();
      |          ^~~~~~~~~~~
insects.cpp: At global scope:
insects.cpp:10:1: error: 'vi' does not name a type
   10 | vi perm;
      | ^~
insects.cpp: In function 'void add(int)':
insects.cpp:15:15: error: 'perm' was not declared in this scope
   15 |   move_inside(perm[x]);
      |               ^~~~
insects.cpp:15:3: error: 'move_inside' was not declared in this scope
   15 |   move_inside(perm[x]);
      |   ^~~~~~~~~~~
insects.cpp: In function 'void rem(int)':
insects.cpp:21:16: error: 'perm' was not declared in this scope
   21 |   move_outside(perm[x]);
      |                ^~~~
insects.cpp:21:3: error: 'move_outside' was not declared in this scope
   21 |   move_outside(perm[x]);
      |   ^~~~~~~~~~~~
insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:25:3: error: 'perm' was not declared in this scope
   25 |   perm.resize(n);
      |   ^~~~
insects.cpp:38:3: error: 'vb' was not declared in this scope
   38 |   vb never(n, false), always(n, false);
      |   ^~
insects.cpp:43:11: error: 'never' was not declared in this scope
   43 |       if (never[i]) continue;
      |           ^~~~~
insects.cpp:47:19: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   47 |     if (in.size() == mid * types) {
      |         ~~~~~~~~~~^~~~~~~~~~~~~~
insects.cpp:49:25: error: 'always' was not declared in this scope
   49 |       for (auto i : in) always[i] = true;
      |                         ^~~~~~
insects.cpp:52:46: error: 'never' was not declared in this scope
   52 |       rep(i,0,n) if (in.find(i) == in.end()) never[i] = true;
      |                                              ^~~~~
insects.cpp:53:23: error: 'always' was not declared in this scope
   53 |       rep(i,0,n) if (!always[i]) rem(i);
      |                       ^~~~~~