Submission #1045321

#TimeUsernameProblemLanguageResultExecution timeMemory
1045321MarwenElarbiCounting Mushrooms (IOI20_mushrooms)C++17
0 / 100
1 ms344 KiB
#include <bits/stdc++.h>
using namespace std;
#include "mushrooms.h"
#define pb push_back
int count_mushrooms(int n) {
	int a=1;
	int b=0;
	vector<int> aa;
	aa.pb(0);
	vector<int> bb;
	for (int i = 1; i < min(n,200); i++)
	{
		if(aa.size()==100||bb.size()==100) continue;
		int cur=use_machine({i,0});
		(cur==1 ? bb : aa).pb(i);
		(cur==1 ? b : a)++;
	}
	int ans=a;
	for (int i = 200; i < n; i+=99)
	{
		vector<int> cur;
		int k=0;
		cur.pb((a>=b ? aa[k++] : bb[k++]));
		for (int j = 0; j < min(n-i,99); ++j)
		{
			cur.pb(i+j);
			cur.pb((a>=b ? aa[k++] : bb[k++]));
		}
		int cnt=use_machine(cur);
		ans+=(a>=b ? cnt/2 : cur.size()/2-cnt/2);
	}
	return a;
}
#Verdict Execution timeMemoryGrader output
Fetching results...