Submission #1191509

#TimeUsernameProblemLanguageResultExecution timeMemory
1191509drakozsRarest Insects (IOI22_insects)C++20
0 / 100
39 ms436 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 ans = N;
	int oriN = N;
	vector<int> newUse(N);
	for (int i = 0; i < N; i++){
		newUse[i] = i;
	}
	while(1){
		int B = N / d;
		vector<int> all;
		for (int i = 0; i < newUse.size(); i++){
			move_inside(i);
			int count = press_button();
			if (count > B){
				move_outside(i);
			}
			else{
				all.push_back(i);
				if (all.size() == B * d) break;
			}
		}
		if (all.size() == B * d){
			return B;
		}
		N = all.size();
		for (int i = 0; i < all.size(); i++){
			move_outside(all[i]);
		}
		newUse = all;
	}
	return 1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...