Submission #1230480

#TimeUsernameProblemLanguageResultExecution timeMemory
1230480inesfiCounting Mushrooms (IOI20_mushrooms)C++20
0 / 100
0 ms420 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=min(racine,(int)2);
	int ec=1;
	while ((int)A.size()<racine and (int)B.size()<racine){
		if (use_machine({0,ec})==0){
			A.push_back(ec);
			rep++;
		}
		else {
			B.push_back(ec);
		}
		ec++;
	}
	//cout<<42<<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[0]);
				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[0]);
			quest.push_back(ec);
			ec++;
			indice++;
		}
		quest.push_back(B[indice]);
		rep+=use_machine(quest)/2;
	}
	cout<<rep<<endl;
	return rep;
}
#Verdict Execution timeMemoryGrader output
Fetching results...