Submission #1232780

#TimeUsernameProblemLanguageResultExecution timeMemory
1232780TrumlingPacking Biscuits (IOI20_biscuits)C++20
12 / 100
1092 ms1802060 KiB
#include "biscuits.h"
//Trumling ©
//Αφόδευε υψηλά και ηγνάντει 
#include <bits/stdc++.h>
using namespace std; 
 
typedef long long ll;
#define pb push_back
#define F first
#define S second
#define enter cout<<'\n';
#define INF 99999999999999
#define MOD 1000000007
#define all(x) x.begin(),x.end()

long long count_tastiness(long long x, vector<long long> a) {

	vector<vector<ll>>dp(122,vector<ll>(2*x,0));
	vector<ll>arr(122,0);

	for(int i=0;i<a.size();i++)
		arr[i]=a[i];
		
	for(int i=0;i<120;i++)
	{
		ll give=((arr[i]<x)?0:(arr[i]-x)/2);
		arr[i+1]+=give;
		arr[i]-=give*2;
	}

	dp[0][0]=1;
	for(int i=0;i<=120;i++)
		for(int j=0;j<2*x;j++)
		{
			if((j+arr[i])>=x && ((ll)((j+arr[i]-x)/2) <= 120))
				dp[i+1][(j+arr[i]-x)/2]+=dp[i][j];
			
			if((ll)((j+arr[i])/2) <= 120)
				dp[i+1][(j+arr[i])/2]+=dp[i][j];
		}

	ll ans=0;
	for(int i=0;i<2*x;i++)
		ans+=dp[121][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...