Submission #791133

#TimeUsernameProblemLanguageResultExecution timeMemory
791133Pablo_NoCounting Mushrooms (IOI20_mushrooms)C++17
25 / 100
94 ms208 KiB
#include "mushrooms.h"

using namespace std;

int count_mushrooms(int n) {
	std::vector<int> m;
	if(n == 2)
	{
		m = {0, 1};
		return 2-use_machine(m);
	}
	m = { 0, 1, };
	int a = use_machine(m);
	m = { 0, 2, };
	int b = use_machine(m);
	bool usingb = false;
	vector<int> hep;
	int ans = 1 + (1-a) + (1-b);
	if(a == 0)
	{
		hep = { 0, 1 };
	}
	else if(b == 0)
	{
		hep = { 0, 2 };
	}
	else
	{
		hep = { 1, 2 };
		usingb = true;
	}

	for(int i = 3; i+1 < n; i += 2)
	{
		m = { hep[0], i, hep[1], i+1 };
		int def = use_machine(m);
		def = def%2 + def/2;
		if(!usingb)
			def = 2-def;
		ans += def;
	}
	if(n%2 != 1)
	{
		m = { 0, n-1 };
		int e = use_machine(m);
		ans += (1-e);
	}
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...