제출 #1356974

#제출 시각아이디문제언어결과실행 시간메모리
1356974velvet_haze버섯 세기 (IOI20_mushrooms)C++20
80.71 / 100
2 ms480 KiB
#include <bits/stdc++.h>
#include "mushrooms.h"

using namespace std;

int count_mushrooms(int n) 
{
	vector<int> m,A,B;
	bool folA;
	int ans,x,k,i,pas,j,dif;
	
	A.push_back(0);

	i=1;
	k=2;
	while(i<n && max((int)A.size(),(int)B.size())<k)
	{
		if(use_machine({0,i})==0)
			A.push_back(i);
		else
			B.push_back(i);
		i++;
	}

	ans=A.size();
	while(i<n)
	{
		if(A.size() >= B.size()) 
		{
            folA = true;
            m = A;
        } 
		else
		{
            folA = false;
            m = B;
        }

		pas=min((int)m.size(),n-i);
		vector<int> q;
		for(j=0;j<pas;j++)
		{
			q.push_back(m[j]);
			q.push_back(i+j);
		}


		x=use_machine(q);
		dif=(x+1)/2;

		if(folA==true) 
		{
			ans+=pas-dif;
			if(x % 2 == 0) A.push_back(i + pas - 1);
            else           B.push_back(i + pas - 1);
		}
		else
		{
			ans+=dif;
			if(x % 2 == 0) B.push_back(i + pas - 1);
            else           A.push_back(i + pas - 1);
		}
		i+=pas;
	}
	return ans;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…