# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1066165 | 2024-08-19T15:56:57 Z | Ahmed57 | Counting Mushrooms (IOI20_mushrooms) | C++17 | 0 ms | 344 KB |
#include "bits/stdc++.h" using namespace std; #include "mushrooms.h" int count_mushrooms(int n){ int B = 100; vector<int> BS[2]; int cnt = 0; vector<int> pending; BS[0].push_back(0); for(int i = 1;i<min(n,B);i++){ if(use_machine({0,i})){ BS[1].push_back(i); }else { BS[0].push_back(i);cnt++; } } int sz = max(BS[0].size(),BS[1].size()); vector<int> bs; bool As = 0; if(BS[0].size()>BS[1].size()){ As = 1; bs = BS[0]; }else bs = BS[1]; for(int i = B;i<n;i+=sz){ int xd = i; vector<int> lol; int nah = 0; for(int j = i;j<min(n,i+sz);j++){ nah++; lol.push_back(bs[j-i]); lol.push_back(j); } int ans = use_machine(lol); if(ans%2){ if(As==0)cnt++; ans--; }else{ if(As==1)cnt++; } ans/=2; nah--; if(As==0)cnt+=ans; else cnt+=nah-ans; } return cnt; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 344 KB | Answer is not correct. |
2 | Halted | 0 ms | 0 KB | - |