제출 #1072857

#제출 시각아이디문제언어결과실행 시간메모리
1072857Ignut버섯 세기 (IOI20_mushrooms)C++17
56.78 / 100
7 ms600 KiB
// Ignut #include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; int use_machine(vector<int> x); int count_mushrooms(int n) { int res = 1; vector<int> A = {0}, B = {}; vector<int> vec; for (int i = 1; i < n; i ++) vec.push_back(i); int Q = 200; for (int i = 0; i < Q; i ++) { if (vec.empty()) { return res; } int v = vec.back(); vec.pop_back(); if (use_machine({0, v}) == 0) { res ++; A.push_back(v); } else { B.push_back(v); } } while (!vec.empty()) { int ind = 1; vector<int> ask = {(A.size() >= B.size() ? A[0] : B[0])}; while (ind < max(A.size(), B.size()) && !vec.empty()) { int v = vec.back(); vec.pop_back(); ask.push_back(v); ask.push_back(A.size() >= B.size() ? A[ind] : B[ind]); ind ++; } int val = use_machine(ask); int cnt = ind - 1; if (A.size() >= B.size()) res += cnt - val / 2; else res += val / 2; } return res; }

컴파일 시 표준 에러 (stderr) 메시지

mushrooms.cpp: In function 'int count_mushrooms(int)':
mushrooms.cpp:33:20: warning: comparison of integer expressions of different signedness: 'int' and 'const long unsigned int' [-Wsign-compare]
   33 |         while (ind < max(A.size(), B.size()) && !vec.empty()) {
      |                ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...