Submission #1292674

#TimeUsernameProblemLanguageResultExecution timeMemory
1292674enzyCounting Mushrooms (IOI20_mushrooms)C++20
56.50 / 100
7 ms428 KiB
#include "mushrooms.h"
#include<bits/stdc++.h>
using namespace std;
const int sqt=101;
int count_mushrooms(int n){
	int resp=0;
	vector<int>a, b;
	a.push_back(0);
	int id=1;
	while(max(a.size(),b.size())<=sqt&&id<n){
		vector<int>aux;
		aux.push_back(0); aux.push_back(id);
		if(use_machine(aux)) b.push_back(id);
		else a.push_back(id);
		id++;
	}
	resp=a.size();
	if(a.size()>=sqt){
		//cout << "A" << endl;
		while(id<n){
			vector<int>aux;
			int qtd=0;
			for(int i=0;i<a.size()-1;i++){
				aux.push_back(a[i]);
				if(id<n){
					aux.push_back(id);
					id++;
					qtd++;
				}
			}
			aux.push_back(a.back());
			resp+=((2*qtd-use_machine(aux))/2);
		}
	}else{
		//cout << "B" << endl;
		while(id<n){
			vector<int>aux;
			int qtd=0;
			for(int i=0;i<b.size()-1;i++){
				aux.push_back(b[i]);
				if(id<n){
					aux.push_back(id);
					id++;
					qtd++;
				}
			}
			aux.push_back(b.back());
			resp+=(use_machine(aux)/2);
		}
	}
	return resp;
}
#Verdict Execution timeMemoryGrader output
Fetching results...