제출 #1210083

#제출 시각아이디문제언어결과실행 시간메모리
1210083That_Salamander버섯 세기 (IOI20_mushrooms)C++20
80.71 / 100
3 ms448 KiB
#include "mushrooms.h" using namespace std; /* 2 * START + (n - 2 * START) / (START - 1) */ int count_mushrooms(int n) { vector<int> knownAs, knownBs; knownAs.push_back(0); int pos = 1; int res = knownAs.size(); while (pos < n) { int querySize = max(knownAs.size(), knownBs.size()); int mushroomsInQuery = min(querySize, n - pos); vector<int> query; bool isA = knownAs.size() >= knownBs.size(); for (int i = 0; i < mushroomsInQuery; i++) { if (isA) { query.push_back(knownAs[i]); } else { query.push_back(knownBs[i]); } query.push_back(pos++); } int qres = use_machine(query); int numChanges = qres / 2 + (qres % 2); if (isA) { res += mushroomsInQuery - numChanges; if (qres % 2 == 0) knownAs.push_back(pos-1); else knownBs.push_back(pos-1); } else { res += numChanges; if (qres % 2 == 0) knownBs.push_back(pos-1); else knownAs.push_back(pos-1); } } return res; } /* B_B_B_B_B_ */
#Verdict Execution timeMemoryGrader output
Fetching results...