Submission #800642

#TimeUsernameProblemLanguageResultExecution timeMemory
800642FEDIKUSCounting Mushrooms (IOI20_mushrooms)C++17
0 / 100
0 ms208 KiB
#include "mushrooms.h" #include <bits/stdc++.h> using namespace std; const int maxn=20010; int count_mushrooms(int n) { vector<int> aovi={0}; vector<int> bovi; int ret=1; for(int i=1;i<n;i++){ if(aovi.size()>=bovi.size()){ vector<int> tmp; for(int j=i;j<min(i+int(aovi.size()),n);j++){ tmp.push_back(aovi[j-i]); tmp.push_back(j); } int klkb=use_machine(tmp); if(klkb&1) bovi.push_back(tmp.back()); else aovi.push_back(tmp.back()); klkb=klkb/2+(klkb&1); int klka=tmp.size()/2-klkb; ret+=klka; i+=aovi.size()-1; continue; }else{ vector<int> tmp; for(int j=i;j<min(i+int(bovi.size()),n);j++){ tmp.push_back(bovi[j-i]); tmp.push_back(j); } int klka=use_machine(tmp); if(klka&1) aovi.push_back(tmp.back()); else bovi.push_back(tmp.back()); klka=klka/2+(klka&1); ret+=klka; i+=bovi.size()-1; continue; } } return ret; }
#Verdict Execution timeMemoryGrader output
Fetching results...