Submission #1146968

#TimeUsernameProblemLanguageResultExecution timeMemory
1146968LuvidiPacking Biscuits (IOI20_biscuits)C++20
9 / 100
1096 ms480 KiB
#include "biscuits.h"
#include <bits/stdc++.h>
using namespace std;

long long x,ans;
vector<long long> a;

void f(int idx){
	if(idx==a.size())ans++;
	else if(idx==a.size()-1){
		ans+=1+(a[idx]>=x);
	}else{
		a[idx+1]+=a[idx]/2;
		f(idx+1);
		a[idx+1]-=a[idx]/2;
		if(a[idx]>=x){
			a[idx]-=x;
			a[idx+1]+=a[idx]/2;
			f(idx+1);
			a[idx+1]-=a[idx]/2;
			a[idx]+=x;
		}
	}
}

long long count_tastiness(long long X, std::vector<long long> A) {
	x=X;
	a=A;
	for(int i=0;i<60;i++)a.push_back(0);
	// for(int i=0;i<a.size();i++){
	// 	if(a[i]>x){
	// 		if(i==a.size()-1)a.push_back(0);
	// 		a[i+1]+=(a[i]-x+1)/2;
	// 		a[i]-=(a[i]-x+1)/2*2;
	// 	}
	// }
	ans=0;
	f(0);
	return ans;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...