Submission #329253

#TimeUsernameProblemLanguageResultExecution timeMemory
329253nikatamlianiPacking Biscuits (IOI20_biscuits)C++14
12 / 100
13 ms1260 KiB
#include <bits/stdc++.h> #include "biscuits.h" using namespace std; using ll = long long; ll count_tastiness(ll x, vector<ll> a) { ll ans = 1; for(int i = 0; i < (int)a.size() - 1; ++i) { ll mod = a[i] % x; a[i+1] += mod / 2; a[i] /= x; ll sub = (a[i] - 1) / 2 * 2; a[i+1] += sub / 2 * x; a[i] -= sub; } while(true) { ll mod = a.back() % x; ll next = mod / 2; a.back() /= x; ll sub = (a.back() - 1) / 2 * 2; next += sub / 2 * x; a.back() -= sub; if(!next) break; a.push_back(next); } a.insert(a.begin(), 0); int n = a.size(); vector<vector<ll>> dp(n+1, vector<ll>(2, 0)); dp[0][0] = 1; for(int i = 0; i < n; ++i) { bool added[2][2]; memset(added, 0, sizeof added); for(int me = 0; me < 2; ++me) { for(int take = 0; take <= a[i]; ++take) { int new_me = take + me; int new_he = new_me / 2; new_me -= new_he * 2; if(added[new_me][new_he]) continue; added[new_me][new_he] = 1; dp[i+1][new_he] += dp[i][me]; } } } return dp[n][0] + dp[n][1]; }

Compilation message (stderr)

biscuits.cpp: In function 'll count_tastiness(ll, std::vector<long long int>)':
biscuits.cpp:6:5: warning: unused variable 'ans' [-Wunused-variable]
    6 |  ll ans = 1;
      |     ^~~
#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...