제출 #1230485

#제출 시각아이디문제언어결과실행 시간메모리
1230485inesfi버섯 세기 (IOI20_mushrooms)C++20
53.68 / 100
3 ms432 KiB
#include "mushrooms.h"
#include<bits/stdc++.h>
using namespace std;

int count_mushrooms(int n) {
	int rep=1;
	vector<int> A={0},B={};
	int racine=sqrt(n);
	racine=max(racine,(int)2);
	int ec=1;
	while ((int)A.size()<racine and (int)B.size()<racine and ec<n){
		if (use_machine({0,ec})==0){
			A.push_back(ec);
			rep++;
		}
		else {
			B.push_back(ec);
		}
		ec++;
	}
	//cout<<ec<<endl;
	if ((int)A.size()==racine){
		while (ec<n){
			vector<int> quest={};
			int indice=0;
			while (ec<n and indice<(int)A.size()-1){
				quest.push_back(A[indice]);
				quest.push_back(ec);
				ec++;
				indice++;
			}
			quest.push_back(A[indice]);
			rep+=(int)quest.size()/2-use_machine(quest)/2;
		}
		//cout<<rep<<endl;
		return rep;
	}
	while (ec<n){
		vector<int> quest={};
		int indice=0;
		while (ec<n and indice<(int)B.size()-1){
			quest.push_back(B[indice]);
			quest.push_back(ec);
			ec++;
			indice++;
		}
		quest.push_back(B[indice]);
		/*for (auto i:quest){
			cout<<i<<" ";
		}
		cout<<endl;*/
		rep+=use_machine(quest)/2;
	}
	//cout<<rep<<endl;
	return rep;
}
#Verdict Execution timeMemoryGrader output
Fetching results...