Submission #1223008

#TimeUsernameProblemLanguageResultExecution timeMemory
122300812baaterRarest Insects (IOI22_insects)C++20
0 / 100
0 ms400 KiB
#include "insects.h" #include <vector> using namespace std; bool box[2002]; int currentMax = 0; int inBox = 0; int n; void add_until_group_amount(int num) { for(int i = 0; i < n; i++) { if(box[i]) continue; move_inside(i); int returnVal = press_button(); if (returnVal > num) { move_outside(i); continue; } box[i] = true; inBox++; } } void remove_some(int num) { for(int i = 0; i < n; i++) { if (!box[i]) continue; move_outside(i); box[i] = false; inBox--; } } int min_cardinality(int N) { vector<int> groups(N); n = N; int groupCount = 0; int returnVal; for(int i = 0; i < N; i++) { move_inside(i); returnVal = press_button(); if (returnVal > 1) { move_outside(i); continue; } box[i] = true; inBox++; groupCount++; } currentMax = N/inBox; int upper = currentMax, lower = 0; int mid = (upper-lower)>>1; add_until_group_amount(mid); while(upper-lower > 1) { mid = (upper-lower)>>1; add_until_group_amount(mid); if (inBox == mid) { lower = mid; } else { upper = mid; remove_some(mid); } } return mid; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...