Submission #1240267

#TimeUsernameProblemLanguageResultExecution timeMemory
1240267Muhammad_AneeqPacking Biscuits (IOI20_biscuits)C++17
0 / 100
1 ms328 KiB
#include "biscuits.h"
#include <vector>
using namespace std;
#define ll long long
long long count_tastiness(long long x, vector<long long> a) 
{
	int k=a.size();
	for (int i=0;i<a.size();i++)
	{
		ll z=min(x,a[i]);
		ll g=a[i]-z;
		a[i]=z;
		if (g>1&&a.size()==i+1)
			a.push_back(0);
		if (i+1<a.size())
			a[i+1]+=g/2;
	}
	k=a.size();
	ll cnt[k+10]={};
	cnt[0]=1;
	for (int i=0;i<k;i++)
	{
		if (a[i]<x)
		{
			ll g=x-a[i];
			ll f=2;
			int k=0;
			for (int j=i-1;j>=0;j--)
			{
				g-=a[j]/f;
				f+=f;			
				if (g<=0)
				{
					k=j;
					break;
				}
			}
			for (int j=k;j>=0;j--)
				cnt[i+1]+=cnt[j];
		}
		else
		{
			for (int j=i;j>=0;j--)
				cnt[i+1]+=cnt[j];
		}
	}
	ll ans=0;
	for (int i=0;i<=k;i++)
		ans+=cnt[i];
	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...