Submission #1046591

#TimeUsernameProblemLanguageResultExecution timeMemory
1046591MarwenElarbiCounting Mushrooms (IOI20_mushrooms)C++17
56.64 / 100
6 ms600 KiB
#include <bits/stdc++.h> using namespace std; #include "mushrooms.h" #define pb push_back int count_mushrooms(int n) { int a=1; int b=0; vector<int> aa; aa.pb(0); vector<int> bb; int lst=1; for (int i = 1; i < min(n,200); i++) { if(aa.size()==100||bb.size()==100) break; lst=i+1; int cur=use_machine({i,0}); (cur==1 ? bb : aa).pb(i); (cur==1 ? b : a)++; } int ans=a; for (int i = lst; i < n; i+=99) { vector<int> cur; int k=0; cur.pb((aa.size()>bb.size() ? aa[k++] : bb[k++])); for (int j = 0; j < min(n-i,99); ++j) { cur.pb(i+j); cur.pb((aa.size()>bb.size() ? aa[k++] : bb[k++])); } int cnt=use_machine(cur); ans+=(aa.size()<=bb.size() ? cnt/2 : cur.size()-k-cnt/2); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...