Submission #432451

#TimeUsernameProblemLanguageResultExecution timeMemory
432451Hazem비스킷 담기 (IOI20_biscuits)C++14
21 / 100
1095 ms38836 KiB
#include "biscuits.h"
#include <bits/stdc++.h>
#define LL long long

using namespace std;

LL x;
vector<LL>a;
map<pair<int,LL>,LL>dp;

LL bt(int i,LL cur){

	if(i==60)
		return 1;

	if(dp.find({i,cur})!=dp.end())
		return dp[{i,cur}];

	LL ret = 0;
	ret += bt(i+1,(cur+a[i])/2);
	if(cur+a[i]>=x)
		ret += bt(i+1,(cur+a[i]-x)/2);
	
	return dp[{i,cur}] = ret;
}

long long count_tastiness(long long X, std::vector<long long> A) {
	
	x = X;a = A;
	while(a.size()<=60)
		a.push_back(0);

	LL ans = bt(0,0);
	dp.clear();
	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...