Submission #610669

#TimeUsernameProblemLanguageResultExecution timeMemory
610669MounirPacking Biscuits (IOI20_biscuits)C++14
9 / 100
1082 ms372 KiB
#include "biscuits.h" #include <bits/stdc++.h> #define all(x) x.begin(), x.end() #define chmin(x, v) x = min(x, v) #define chmax(x, v) x = max(x, v) #define pb push_back #define pii pair<int, int> #define sz(x) (int)x.size() #define x first #define y second; #define int long long using namespace std; int nBags; int solve(vector<int> pow2){ if (sz(pow2) == 0) return 1; if (pow2.back() == 0){ pow2.pop_back(); int res = solve(pow2); pow2.pb(0); return res; } int cur = pow2.back(), res = 0; pow2.pop_back(); for (int bit = 0; bit < 2; ++bit){ if (cur < bit * nBags) continue; int toAdd = (cur - bit * nBags)/2; if (pow2.empty()) pow2.pb(0); pow2[sz(pow2) - 1] += toAdd; res += solve(pow2); pow2[sz(pow2) - 1] -= toAdd; } pow2.pb(cur); return res; } int count_tastiness(int x, vector<int> nOccs) { reverse(all(nOccs)); nBags = x; return solve(nOccs); return 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...