#include "mushrooms.h"
#include <bits/stdc++.h>
using namespace std;
#define vi vector<int>
int count_mushrooms( int n ){
const int k = 120;
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... |