Submission #1203131

#TimeUsernameProblemLanguageResultExecution timeMemory
1203131The_SamuraiCounting Mushrooms (IOI20_mushrooms)C++20
10 / 100
51 ms628 KiB
#include "mushrooms.h" #include "bits/stdc++.h" using namespace std; int count_mushrooms(int n) { vector<int> zero = {0}, one; int i = 1, need = 1e9; 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) { 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 { 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 timeMemoryGrader output
Fetching results...