Submission #312980

#TimeUsernameProblemLanguageResultExecution timeMemory
312980kobusCounting Mushrooms (IOI20_mushrooms)C++17
Compilation error
0 ms0 KiB
#include<bits/stdc++.h>
using namespace std;
#define f first
#define s second
#define int long long
#define pii pair<int,int>
#define pb push_back
#define mp make_pair
#define MOD 1000000007
#define MAXN 1123
#define INF (int)1.5e12
#define INFF LLONG_MAX/2
#define eps 1e-4

int count_mushrooms(int n){
	vector<int> s[2]={{0},{}};
	int nn[2]={0,0};
	vector<int> ns;
	for(int i=1;i<n;i++)ns.pb(i);
	int k=85;
	while(ns.size()>0){
		if(k>0 && ns.size()>1 && max(s[0].size(),s[1].size())>1){
			k--;
			int a=ns[ns.size()-1];
			int b=ns[ns.size()-2];
			ns.pop_back();
			ns.pop_back();
			bool si=1;
			if(s[0].size()>s[1].size())si=0;
			int v[4]={s[si][0],a,s[si][1],b};
			int x=use_machine(v);
			if(x%2)s[!si].pb(b);
			else s[si].pb(b);
			x=x/2;
			if(x%2)s[!si].pb(a);
			else s[si].pb(a);
		}
		else{
			bool si=1;
			if(s[0].size()>s[1].size())si=0;
			int tam=min(s[si].size(),ns.size());
			int v[2*tam];
			for(int i=0;i<tam;i++){
				v[2*i]=s[si][i];
			}
			for(int i=0;i<tam;i++){
				v[2*i+1]=ns[ns.size()-i-1];
			}
			for(int i=0;i<tam;i++)ns.pop_back();
			int x=use_machine(v);
			if(x%2)s[!si].pb(v[2*tam-1]);
			else s[si].pb(v[2*tam-1]);
			x=x/2;
			nn[!si]+=x;
			nn[si]+=tam-1-x;
		}
	}
	return s[0].size()+nn[0];
}


int32_t main(){
	cout<<setprecision(5)<<fixed;

	int sei=3;
	int ssei=0;
	int q=2;
	int k=85;
	while(sei+ssei<20000){
		q++;
		if(k>0){
			sei+=2;
			k--;
		}
		else{
			ssei+=((sei+1)/2)-1;
			sei++;
		}
	}
	cout<<q<<endl;

    return 0;
} 






























Compilation message (stderr)

mushrooms.cpp: In function 'long long int count_mushrooms(long long int)':
mushrooms.cpp:31:10: error: 'use_machine' was not declared in this scope
   31 |    int x=use_machine(v);
      |          ^~~~~~~~~~~
mushrooms.cpp:50:10: error: 'use_machine' was not declared in this scope
   50 |    int x=use_machine(v);
      |          ^~~~~~~~~~~