제출 #1191540

#제출 시각아이디문제언어결과실행 시간메모리
1191540drakozs드문 곤충 (IOI22_insects)C++20
0 / 100
0 ms408 KiB
#include "insects.h" #include<bits/stdc++.h> using namespace std; int min_cardinality(int N) { vector<int> temp; int d = 0; for (int i = 0; i < N; i++){ move_inside(i); int count = press_button(); if (count > 1){ move_outside(i); } else{ temp.push_back(i); d++; } } for (int i = 0; i < temp.size(); i++){ move_outside(temp[i]); } int l = 1, r = N, mid; int ans = N; set<int> all; for (int i = 0; i < N; i++){ all.insert(i); } vector<bool> done(N, 0); while(l <= r){ mid = (r - l) / 2 + l; auto it = all.begin(); vector<int> take; while (it != all.end()){ if (done[*it]){ it = next(it); continue; } move_inside(*it); done[*it] = 1; int count = press_button(); if (count > mid){ move_outside(*it); done[*it] = 0; } else{ take.push_back(*it); if (take.size() == mid * d) break; } it = next(it); } if (take.size() == mid * d){ ans = mid; l = mid + 1; } else{ r = mid - 1; all.clear(); for (auto &num : take){ done[num] = 0; move_outside(num); all.insert(num); } } } return ans; return 1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...