Submission #1058334

#TimeUsernameProblemLanguageResultExecution timeMemory
1058334aykhnRarest Insects (IOI22_insects)C++17
0 / 100
2 ms344 KiB
#include "insects.h" #include <bits/stdc++.h> using namespace std; int min_cardinality(int N) { int uni = 0; vector<int> v; for (int i = 0; i < N; i++) { move_inside(i); if (press_button() > 1) move_outside(i); else uni++, v.push_back(i); } for (int &i : v) move_outside(i); v.clear(); vector<int> in(N, 0); vector<int> alive(N, 1); int l = 1, r = N / uni; int ok = 0; while (l < r) { int mid = (l + r + 1) >> 1; for (int i = 0; i < N; i++) { if (!alive[i]) continue; move_inside(i); v.push_back(i); in[i] = 1; if (press_button() > mid) { in[i] = 0; move_outside(i); v.pop_back(); } } assert(v.size() <= mid * uni); if ((int)v.size() != mid * uni) { for (int i = 0; i < N; i++) { if (!in[i]) alive[i] = 0; } for (int &i : v) move_outside(i), in[i] = 0; v.clear(); r = mid - 1; } else { for (int &i : v) { ok++; alive[i] = 0; in[i] = 0; } v.clear(); l = mid; } } return l; }

Compilation message (stderr)

In file included from /usr/include/c++/10/cassert:44,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:33,
                 from insects.cpp:2:
insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:38:21: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   38 |     assert(v.size() <= mid * uni);
      |            ~~~~~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...