Submission #834794

#TimeUsernameProblemLanguageResultExecution timeMemory
834794finn__Packing Biscuits (IOI20_biscuits)C++17
0 / 100
735 ms2097152 KiB
#include <bits/stdc++.h> #include "biscuits.h" using namespace std; using L = long long; constexpr size_t N = 61; int64_t b[N], c[N], x; int64_t f(int64_t n) { size_t const j = __builtin_clzll(n); if (1LL << j == n && c[j] != -1) return c[j]; size_t const i = __builtin_clzll(n - 1); int64_t ans = f(1LL << i) + f(min(n, b[i] / x + 1) - (1LL << i)); if (1LL << j == n) c[j] = ans; return ans; } L count_tastiness(L x_, vector<L> a) { x = x_; memset(b, 0, sizeof b); memset(c, 255, sizeof c); c[0] = 1; b[0] = a[0]; for (size_t i = 1; i < a.size(); ++i) b[i] = b[i - 1] + a[i] * (1LL << i); for (size_t i = a.size(); i < N; ++i) b[i] = b[i - 1]; return f(1LL << 60); }
#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...