제출 #1014901

#제출 시각아이디문제언어결과실행 시간메모리
1014901Unforgettablepl비스킷 담기 (IOI20_biscuits)C++17
9 / 100
1051 ms66072 KiB
#include <bits/stdc++.h>
using namespace std;
 
const int LIMIT = 19;
 
long long count_tastiness(long long x, std::vector<long long> a) {
	map<pair<int,int>,long long> memo;
	function<long long(long long,long long)> calc = [&](long long i,long long j){
		j=max(j,0ll);
		if(i==-1)return j==0 ? 1ll : 0ll;
		j=min(j,((long long)1e18)/(1ll<<i));
		if(memo.count({i,j}))return memo[{i,j}];
		long long ac = calc(i-1,2ll*(j-a[i]));
		if(ac>0)return memo[{i,j}] = calc(i-1,2ll*(j-a[i]+x))+ac;
		else return memo[{i,j}]=0ll;
	};
	a.resize(LIMIT+1);
	return calc(LIMIT,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...