제출 #1191511

#제출 시각아이디문제언어결과실행 시간메모리
1191511drakozs드문 곤충 (IOI22_insects)C++20
25 / 100
99 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(newUse[i]);
			int count = press_button();
			if (count > B){
				move_outside(newUse[i]);
			}
			else{
				all.push_back(newUse[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...