# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
458001 | rainboy | 버섯 세기 (IOI20_mushrooms) | C++17 | 13 ms | 328 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "mushrooms.h"
#include <iostream>
using namespace std;
typedef vector<int> vi;
const int N = 100;
int aa[N], bb[N];
int count_mushrooms(int n) {
vi ii;
int na, nb, h, i, ans;
na = nb = 0;
aa[na++] = 0;
for (i = 1; i < n && na < N && nb < N; i++) {
ii.resize(2);
ii[0] = 0, ii[1] = i;
if (use_machine(ii) == 0)
aa[na++] = i;
else
bb[nb++] = i;
}
if (i == n)
return na;
if (na == N) {
ans = n - nb;
while (i < n) {
ii.resize(0);
for (h = 0; h < na; h++) {
ii.push_back(aa[h]);
if (i < n)
ii.push_back(i++);
}
ans -= (use_machine(ii) + 1) / 2;
}
} else {
ans = na;
while (i < n) {
ii.resize(0);
for (h = 0; h < nb; h++) {
ii.push_back(bb[h]);
if (i < n)
ii.push_back(i++);
}
ans += (use_machine(ii) + 1) / 2;
}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |