제출 #1052165

#제출 시각아이디문제언어결과실행 시간메모리
1052165aykhn비스킷 담기 (IOI20_biscuits)C++17
9 / 100
19 ms48220 KiB
#include "biscuits.h"
#include <bits/stdc++.h>
 
using namespace std;
 
long long x, k;
vector<long long> a;
int mp[60][100001];
 
long long dp(long long ind, long long s)
{
	if (ind == 60) return 1LL;
	s += a[ind];
	if (mp[ind][s] != -1) 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) 
{
	for (int i = 0; i < 60; i++) for (int j = 0; j < 100001; j++) mp[i][j] = -1;
	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...