Submission #1052094

#TimeUsernameProblemLanguageResultExecution timeMemory
1052094aykhnPacking Biscuits (IOI20_biscuits)C++17
0 / 100
120 ms342116 KiB
#include "biscuits.h"
#include <bits/stdc++.h>
 
using namespace std;
 
long long x, k;
vector<long long> a;
long long mp[60][1000001];
 
long long cnt(long long ind, long long s)
{
	if (ind == 5) return 1;
	if (mp[ind][s] != -1) return mp[ind][s];
	if (ind < k) s += a[ind];
	int A = cnt(ind + 1, (s >> 1));
	int B = (x <= s ? cnt(ind + 1, ((s - x) >> 1LL)) : 0LL);
	return mp[ind][s] = A + B;
}
 
long long count_tastiness(long long X, vector<long long> A) 
{
	for (int i = 0; i < 60; i++) for (int j = 0; j <= 100000; j++) mp[i][j] = -1;
	x = X, a = A, k = A.size();
	return cnt(0LL, 0LL);
}
#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...