제출 #825836

#제출 시각아이디문제언어결과실행 시간메모리
825836LittleCube드문 곤충 (IOI22_insects)C++17
0 / 100
1 ms208 KiB
#include "insects.h" #include <bits/stdc++.h> #define ll long long using namespace std; const double r = 0.5; int min_cardinality(int N) { vector<int> remain; int M = N, L = 1, R = N; /* Choose k: ans <= k -> R = k ans > k -> L = k + 1, M -= k */ for (int i = 0; i < N; i++) remain.emplace_back(i); while (L < R) { int k = (L + R) / 2; vector<int> small, large, tmp; for (int i : remain) { move_inside(i); if (press_button() > k) { move_outside(i); large.emplace_back(i); } else small.emplace_back(i); } int big = !large.empty(); remain.clear(); for (auto i : small) move_outside(i); for (auto i : large) { move_inside(i); if (press_button() == 2) move_outside(i); else tmp.emplace_back(i); } for (auto i : small) { move_inside(i); if (press_button() == 2) large.emplace_back(i); else remain.emplace_back(i); move_outside(i); } for (auto i : tmp) move_outside(i); if (big) remain = large, L = k + 1; else R = k; } return L; }

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

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:11:9: warning: unused variable 'M' [-Wunused-variable]
   11 |     int M = N, L = 1, R = N;
      |         ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...