Submission #346225

#TimeUsernameProblemLanguageResultExecution timeMemory
346225lLab_버섯 세기 (IOI20_mushrooms)C++14
31.39 / 100
15 ms512 KiB
#include "mushrooms.h" #include <bits/stdc++.h> using namespace std; vector<int> A = {0}; int count_mushrooms(int n) { int sum = 1; int i=1; while(i<78&&i<n){ vector<int> S; int nA = A.size(); int cnt = 0; for(int j=0;j<min(nA,2)&&i<n;++j){ S.push_back(A[j]); S.push_back(i); i++; cnt++; } int d = use_machine(S); sum += cnt-(d+1)/2; if(d == 0 && cnt == 2){ A.push_back(i-2); A.push_back(i-1); } else if(d == 1 && cnt == 2){ A.push_back(i-2); } else if(d%2 == 0) A.push_back(i-1); } while(i<n){ vector<int> S; int nA = A.size(); int cnt = 0; for(int j=0;j<nA&&i<n;++j){ S.push_back(A[j]); S.push_back(i); i++; cnt++; } int d = use_machine(S); sum += cnt-(d+1)/2; if(d == 0){ for(int j=1;j<=cnt;++j){ A.push_back(i-j); } } else if(d%2 == 0) A.push_back(i-1); } return sum; }
#Verdict Execution timeMemoryGrader output
Fetching results...