Submission #1052106

#TimeUsernameProblemLanguageResultExecution timeMemory
1052106aykhn비스킷 담기 (IOI20_biscuits)C++17
0 / 100
1075 ms63316 KiB
#include "biscuits.h"
#include <bits/stdc++.h>
 
using namespace std;
 
long long x, k;
vector<long long> a;
map<array<long long, 2>, long long> mp;
 
long long cnt(long long ind, long long s)
{
	if (ind == 60) return 1;
	if (mp.find({ind, s}) != mp.end()) 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) 
{
	mp.clear();
	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...