#include "biscuits.h"
#include <bits/stdc++.h>
using namespace std;
long long p[64];
long long ans,nd,b[64];
long long s[64];
vector<long long> v;
long long count_tastiness(long long x, std::vector<long long> a)
{
p[0]=1;
for(int i=1; i<60; i++)
p[i]=p[i-1]*2;
while(a.size()<60)a.push_back(0);
if(1)
{
for(int i=0;i<a.size();i++)
{
if(a[i]>=x)
{
long long lf=a[i]-x;
a[i]=x+lf%(2*x);
a[i+1]+=lf/(2*x);
}
}
ans=1;
long long curr=1,cnt=0;
for(int i=0;i<a.size();i++)
{
//cout<<a[i]<<" ";
if(a[i]==0)
{
ans*=curr;
curr=1;
cnt=0;
}
else
{
curr+=p[cnt]*a[i];
cnt++;
}
}
//cout<<endl;
ans*=curr;
return ans;
}
s[0]=a[0];
for(int i=1; i<60; i++)
{
s[i]=s[i-1];
if(i<a.size())s[i]+=a[i]*p[i];
}
nd=x;
ans=0;
v.clear();
v.push_back(0);
for(int i=0;i<60;i++)
{
int sz=v.size();
int j=0;
while(j<sz&&(v[j]+p[i])<=s[i]/nd)
{
v.push_back(v[j]+p[i]);
j++;
}
}
//cout<<"? "<<v.size()<<endl;
return v.size();
}
# | 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... |