#include "biscuits.h"
#include <bits/stdc++.h>
using namespace std;
#define uwu return
long long count_tastiness(long long x, vector<long long> a) {
long long ans = 0;
while(a.size() < 62){
a.push_back(0);
}
for (int i = 0; i < a.size(); i++){
vector <long long> b = a;
for (int j = i + 1; j < a.size(); j++){
b[j] = 0;
}
long long sum = 0;
for (int j = i; j >= 0; j--){
if(sum + (b[j] * (1LL << j)) >= x * (1LL << i)){
b[j] -= ((x * (1LL << i)) - sum) / (1LL << j);
sum = (x * (1LL << i));
break;
}
else{
sum += b[j] * (1LL << j);
b[j] = 0;
}
}
b[i] += sum / (1LL << i);
if(b[i] < x)
continue;
long long cnt = 0;
for (int j = 0; j <= i - 1; j++){
if(b[j] >= x){
b[j + 1] += (b[j] - x) / 2;
b[j] = x;
cnt++;
}
}
ans += (1LL << cnt);
}
long long ss = 0;
for (int i = 0; i < a.size(); i++){
ss += (1LL << i) * a[i];
}
return ans + 3 + __builtin_popcountll(ss);
}
# | 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... |