제출 #303336

#제출 시각아이디문제언어결과실행 시간메모리
303336Elegia비스킷 담기 (IOI20_biscuits)C++17
42 / 100
1085 ms41688 KiB
#include "biscuits.h"

#include <functional>
#include <unordered_map>

using namespace std;

using ll = long long;

ll count_tastiness(ll x, vector<ll> a) {
	a.resize(61);
	vector<unordered_map<ll, ll>> dp(61);
	function<ll(int, ll)> dfs = [&](int k, ll v) {
		if (k == 60) return 1LL;
		if (dp[k].count(v))
			return dp[k][v];
		ll ret = dfs(k + 1, (v + a[k]) / 2);
		if (v + a[k] >= x) ret += dfs(k + 1, (v + a[k] - x) / 2);
		return dp[k][v] = ret;
	};
	return dfs(0, 0);
}

#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...