Submission #686438

#TimeUsernameProblemLanguageResultExecution timeMemory
68643879brueRarest Insects (IOI22_insects)C++17
47.51 / 100
197 ms420 KiB
#include "insects.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; int n, k; vector<int> vec; bool isFirst[2002], inside[2002]; int min_cardinality(int N){ n = N; /// 종류 알아내기 for(int i=0; i<n; i++){ move_inside(i); if(press_button() == 2) move_outside(i); else vec.push_back(i), isFirst[i] = 1, inside[i] = 1; } k = (int)vec.size(); int l = 2, r = N/k, ans = 1; while(l<=r){ int m = (l+r)>>1; vector<int> removal; for(int i=0; i<n; i++){ if(inside[i]) continue; move_inside(i); if(press_button() <= m) removal.push_back(i); else move_outside(i); } if((int)removal.size() == k * (m-1)) ans = m, l = m+1; else r = m-1; for(auto x: removal) move_outside(x); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...