제출 #601925

#제출 시각아이디문제언어결과실행 시간메모리
601925FatihSolak버섯 세기 (IOI20_mushrooms)C++17
56.93 / 100
12 ms336 KiB
#include "mushrooms.h"
#include <bits/stdc++.h>
#define X 200
using namespace std;

int count_mushrooms(int n){
	if(n <= 227){
		int ret = 1;
		for(int i = 1;i<n;i++){
			ret += !(use_machine({0,i}));
		}
		return ret;
	}
	vector<int> a,b;
	a.push_back(0);
	for(int i = 1;i<=X;i++){
		if(use_machine({0,i})){
			b.push_back(i);
		}
		else a.push_back(i);
	}
	int ret = 0;
	int asz = a.size();
	int bsz = b.size();
	if(asz > bsz){
		for(int i = X+1;i<n;i+=asz){
			vector<int> nums;
			int cnt = 0;
			for(int j = i;j<min(n,i + asz);j++){
				nums.push_back(a[cnt++]);
				nums.push_back(j);
			}
			int sz = nums.size()/2;
			ret += sz - (use_machine(nums) + 1)/2;
		}
	}
	else{
		for(int i = X+1;i<n;i+=bsz){
			vector<int> nums;
			int cnt = 0;
			for(int j = i;j<min(n,i + bsz);j++){
				nums.push_back(b[cnt++]);
				nums.push_back(j);
			}
			int sz = nums.size()/2;
			ret += (use_machine(nums) + 1)/2;
		}
	}

	return ret + asz;
}

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

mushrooms.cpp: In function 'int count_mushrooms(int)':
mushrooms.cpp:45:8: warning: unused variable 'sz' [-Wunused-variable]
   45 |    int sz = nums.size()/2;
      |        ^~
#Verdict Execution timeMemoryGrader output
Fetching results...