#include <bits/stdc++.h>
#include "biscuits.h"
using namespace std;
typedef long long ll;
ll f(vector<ll> vec){
ll sz = vec.size();
if (sz == 0) return 1;
if (vec.back()){
vec.pop_back();
return f(vec);
}
ll cur = (1ll << (sz - 1));
for (ll i = sz - 2; i >= 0; i --){
if (cur >= (1ll << i) and vec[i]){
ll quo = min(vec[i], cur / (1ll << i));
vec[i] -= quo;
cur -= quo * (1ll << i);
}
}
if (cur == 0) return f(vec);
return 0;
}
ll count_tastiness(ll x, vector<ll> a){
ll k = a.size();
ll ans = 1, sm = 0;
for (ll i = 0; i < k; i ++)
sm += a[i] * (1ll << i);
vector<ll> cpy = a, vec;
for (int i = 0; i < k; i ++){
vec.push_back(a[i]);
ans += f(vec);
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |