Submission #303370

#TimeUsernameProblemLanguageResultExecution timeMemory
303370ElegiaPacking Biscuits (IOI20_biscuits)C++17
12 / 100
18 ms512 KiB
#include "biscuits.h" #include <functional> #include <unordered_map> using namespace std; using ll = long long; ll count_tastiness(ll x, vector<ll> a) { vector<unordered_map<ll, ll>> dp(61); a.resize(61); for (int i = 0; i < 60; ++i) if (a[i] >= x) { ll tak = (a[i] - x) / x / 2; a[i + 1] += tak; a[i] -= tak * 2 * x; } 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...