제출 #1052160

#제출 시각아이디문제언어결과실행 시간메모리
1052160aykhn비스킷 담기 (IOI20_biscuits)C++17
21 / 100
1098 ms63296 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 dp(long long ind, long long s)
{
	if (ind == 60) return 1LL;
	s += a[ind];
	if (mp.find({ind, s}) != mp.end()) return mp[{ind, s}];
	long long A = dp(ind + 1, (s >> 1));
	long long B = 0;
	if (x <= s) B = dp(ind + 1, (s - x) >> 1);
	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();
	while (a.size() < 60) a.push_back(0);
	return dp(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...