#include "mushrooms.h"
#include "bits/stdc++.h"
using namespace std;
int count_mushrooms(int n) {
vector<int> zero = {0}, one;
int i = 1, need = 100;
while (i < n and zero.size() < need and one.size() < need) {
if (use_machine({0, i})) one.emplace_back(i);
else zero.emplace_back(i);
i++;
}
if (i == n) return zero.size();
vector<int> unused;
for (; i < n; i++) unused.emplace_back(i);
int ans = zero.size();
if (zero.size() == need) {
while (!unused.empty()) {
int ln = min(unused.size(), zero.size());
vector<int> v;
for (int i = 0; i < ln; i++) {
v.emplace_back(zero[i]);
v.emplace_back(unused.back());
unused.pop_back();
}
ans += ln - (use_machine(v) + 1) / 2;
}
} else {
while (!unused.empty()) {
int ln = min(unused.size(), one.size());
vector<int> v;
for (int i = 0; i < ln; i++) {
v.emplace_back(one[i]);
v.emplace_back(unused.back());
unused.pop_back();
}
ans += (use_machine(v) + 1) / 2;
}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |