| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1351751 | Faisal_Saqib | Counting Mushrooms (IOI20_mushrooms) | C++17 | 0 ms | 0 KiB |
#include "mushrooms.h"
#include <bit/stdc++.h>
using namespace std;
const int B=100;
int count_mushrooms(int n) {
vector<int> cnt[4];
cnt[0].push_back(0);
int p=min(n,B);
for(int i=1;i<p;i++)
{
cnt[use_machine({0,i})].push_back(i);
}
int ans=cnt[0].size();
for(int i=p;i<n;i++)
{
bool flp=0;
if(cnt[0].size()<cnt[1].size())
{
flp=1;
}
vector<int> cur;
int sz=min(cnt[flp].size(),n-i);
for(int j=0;j<sz;j++)
cur.push_back(i+j),cur.push_back(cnt[flp][j]);
ans+=((use_machine(cur)+flp)/2);
}
return ans;
}