#include "biscuits.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll count_tastiness( ll x, vector<ll> a ){
int n = 60;
a.resize(n, 0LL);
vector<ll> sum( n, a[0] );
for( int i = 1; i < n; i++ ) sum[i] = sum[i - 1] + (a[i]<<i);
vector<ll> resp(n + 1, 1);
auto solve = [&]( int id, ll val ){
ll ans = 1LL;
for(; id >= 0; id-- ){
val = min( val, sum[id] );
if( (val>>id) >= x ) ans += resp[id], val -= (x<<id);
}
return ans;
};
// resp[i + 1] corresponde ao bit i
for( int i = 0; i < n; i++ ){
resp[i + 1] = resp[i];
if( (sum[i]>>i) < x ) continue;
resp[i + 1] += solve( i - 1, sum[i] - (x<<i) );
}
return resp.back();
}
# | 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... |