#include <iostream>
#include <vector>
#include <algorithm>
#include "mushrooms.h"
using namespace std;
int count_mushrooms(int n){
vector<int>a;
vector<int>b;
vector<int>x;
int counta=1, i=1;
a.push_back(0);
while (i<n){
x.clear();
if (a.size()>b.size()){
for (int j=0; j<a.size(); j++){
if (j+i>=n) break;
x.push_back(a[j]);
x.push_back(j+i);
}i+=a.size();
int y=use_machine(x);
if (y%2==0){
a.push_back(x[x.size()-1]);
counta++;
}else{
b.push_back(x[x.size()-1]);
}counta+=(x.size()/2-1-y/2);
}else{
for (int j=0; j<b.size(); j++){
if (j+i>=n) break;
x.push_back(b[j]);
x.push_back(j+i);
}i+=b.size();
int y=use_machine(x);
if (y%2==0){
b.push_back(x[x.size()-1]);
}else{
a.push_back(x[x.size()-1]);
counta++;
}counta+=(y/2);
}
}return counta;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |