Submission #884540

#TimeUsernameProblemLanguageResultExecution timeMemory
884540jamjanekCounting Mushrooms (IOI20_mushrooms)C++14
80.71 / 100
6 ms968 KiB
#include<bits/stdc++.h> #include "mushrooms.h" using namespace std; int count_mushrooms(int n){ vector<int>A[2]; A[0].push_back(0); int it = 1; int Ac[2] = {1,0}; Ac[0] = 1; Ac[1] = 0; while(it<n){ // printf("it = %d\n", it); vector<int>pom; bool czy = 0; if(A[1].size()>A[0].size())czy = 1; int pom1 = 0; while(it<n && pom.size()<2*A[czy].size()){ pom.push_back(A[czy][pom1++]); pom.push_back(it); it++; } int ans = use_machine(pom); // printf("vec: = ");for(auto j: pom)printf("%d ", j);printf("\n"); // printf("ans = %d\n", ans); if(ans%2==0) A[czy].push_back(it-1); else A[!czy].push_back(it-1); Ac[!czy]+=(ans+1)/2; Ac[czy]+=pom1-(ans+1)/2; if(pom1==2){ if(ans<2) A[czy].push_back(it-2); else A[!czy].push_back(it-2); } } // printf("res = %d\n", Ac[0]); return Ac[0]; }
#Verdict Execution timeMemoryGrader output
Fetching results...