#include "mushrooms.h"
#include <bits/stdc++.h>
using namespace std;
#define vi vector<int>
int count_mushrooms( int n ){
	const int k = 150;
	vi a, b;
	a.push_back(0);
	int l = 1;
	while( a.size() < k && b.size() < k && l < n ){
		vi v = { 0, l };
		if( use_machine(v) == 1 ) b.push_back(l);
		else a.push_back(l);
		l++;
	}
	int cont = 0;
	bool invert = (a.size() == k);
	vi v = (( invert ) ? a : b );
	while( l < n ){
		int r = min(l + k, n);
		vi aux;
		for( int i = 0; i < k; i++ ){
			aux.push_back(v[i]);
			if( l + i < r ) aux.push_back(l + i);
		}
		int query = (use_machine(aux) + 1)/2;
		cont += (( invert ) ? (r - l) - query : query );
		l = r;
	}
	return a.size() + cont;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |