# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
721459 | vjudge1 | 버섯 세기 (IOI20_mushrooms) | C++17 | 5 ms | 208 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "mushrooms.h"
#include <bits/stdc++.h>
using namespace std;
#define N '\n';
#define VI <vector <int>>
#define VVI <vector <vector <int>>>
int count_mushrooms(int n){
int cnt = 1;
if(n <= 226){
for(int i = 1; i < n; i++){
cnt += 1 - use_machine({0, i});
}
return cnt;
}
vector <int> As = {0};
vector <int> Bs;
int unt = 10;
for(int i = 1; i < unt; i++){
bool q = use_machine({0,i});
if(q)
Bs.push_back(i);
else
As.push_back(i);
}
cnt += As.size()-1;
if(As.size() >= Bs.size()){
int i = unt;
for(; i < n;){
vector<int> search;
for(int j = 0 ; j < As.size() && i < n; j++, i++){
search.push_back(i);
search.push_back(As[j]);
}
int q = use_machine(search);
cnt += As.size()- q/2 + q % 2;
}
}
else{
int i = unt;
for(; i < n; ){
vector<int> search;
for(int j = 0; j < Bs.size() && i < n; j++, i++){
search.push_back(i);
search.push_back(Bs[j]);
}
int q = use_machine(search);
cnt += 1 - q/2 + q % 2;
}
}
// B A B A B A
// B A A A B A B A
return cnt;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |