Submission #1066174

#TimeUsernameProblemLanguageResultExecution timeMemory
1066174Ahmed57Counting Mushrooms (IOI20_mushrooms)C++17
56.93 / 100
6 ms600 KiB
#include "bits/stdc++.h" using namespace std; #include "mushrooms.h" int count_mushrooms(int n){ int B = 187; vector<int> BS[2]; int cnt = 1; 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 (stderr)

mushrooms.cpp: In function 'int count_mushrooms(int)':
mushrooms.cpp:26:13: warning: unused variable 'xd' [-Wunused-variable]
   26 |         int xd = i;
      |             ^~
#Verdict Execution timeMemoryGrader output
Fetching results...