Submission #786342

#TimeUsernameProblemLanguageResultExecution timeMemory
786342vjudge1Rarest Insects (IOI22_insects)C++17
99.89 / 100
57 ms408 KiB
#include "insects.h" #include <bits/stdc++.h> using namespace std; int min_cardinality(int N) { int cnt = 0; vector<bool> f(N); for (int i = 0; i < N; i++) { move_inside(i); if (press_button() <= 1) { f[i] = 1; cnt++; } else { move_outside(i); } } vector<int> blocked(N); for (int i = 0; i < N; i++) { if (f[i]) { blocked[i] = 1; } } int lo = 1, hi = N / cnt, in = cnt, ad = 1; while (lo < hi) { int mi = (lo + hi + 1) / 2; vector<int> ord(N); iota(ord.begin(), ord.end(), 0); random_shuffle(ord.begin(), ord.end()); for (int i : ord) { if (f[i] || blocked[i]) { continue; } move_inside(i); if (press_button() <= mi) { in++; f[i] = 1; } else { move_outside(i); } } if (in == mi * cnt) { for (int i = 0; i < N; i++) { if (f[i]) { blocked[i] = 1; } } lo = mi; } else { hi = in / cnt; for (int i = 0; i < N; i++) { if (!f[i]) { blocked[i] = 1; } if (blocked[i]) { continue; } if (f[i]) { f[i] = 0; in--; move_outside(i); } } } } return lo; }

Compilation message (stderr)

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:22:41: warning: unused variable 'ad' [-Wunused-variable]
   22 |     int lo = 1, hi = N / cnt, in = cnt, ad = 1;
      |                                         ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...