제출 #1077578

#제출 시각아이디문제언어결과실행 시간메모리
1077578Muhammad_AneeqRarest Insects (IOI22_insects)C++17
50 / 100
130 ms1180 KiB
void move_inside(int i);
void move_outside(int i);
int press_button();
#include <iostream>
#include <vector>
using namespace std;
int min_cardinality(int N)
{
	int colors=0;
	vector<int>ind;
	for (int i=0;i<N;i++)
	{
		move_inside(i);
		if (press_button()==2)
			move_outside(i);
		else
		{
			colors++;
			ind.push_back(i);
		}
	}
	if (colors==1)
		return N;
	for (auto i:ind)
		move_outside(i);
	int st=1,en=N/colors+1;
	while (st+1<en)
	{
		int mid=(st+en)/2;
		ind={};
		for (int i=0;i<N;i++)
		{
			move_inside(i);
			if (press_button()>mid)
				move_outside(i);
			else
				ind.push_back(i);
		}
		if (ind.size()==mid*colors)
			st=mid;
		else
			en=mid;
		for (auto i:ind)
			move_outside(i);
	}
	return st;
}

컴파일 시 표준 에러 (stderr) 메시지

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:39:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   39 |   if (ind.size()==mid*colors)
      |       ~~~~~~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...