This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "biscuits.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<ll>a;
ll x,n,dp[65];
ll best(ll d)
{
if(d==-1)
return 1;
ll &r=dp[d];
//cout<<d<<" "<<r<<endl;
if(r!=-1)
return r;
r=best(d-1);
ll c=0;
for(ll i=d; i>=0; i--)
{
c+=a[i]/(1<<(d-i));
//cout<<d<<" * "<<c<<endl;
//cout<<d<<" "<<i<<" "<<c<<endl;
if(c>=x){
//cout<<d<<"-> "<<i-1<<endl;
return r+=best(i-1);
}
}
return r;
}
long long count_tastiness(ll X, vector<ll> A)
{
x=X,a=A,n=a.size();
for(ll i=0; i<n; i++)
{
if(a[i]<x)
continue;
ll op=(a[i]-x)/2;
a[i]-=op;
if(i<n-1)
a[i+1]+=op;
}
/*for(ll i=0;i<n;i++)
cout<<a[i]<<" ";
cout<<endl;*/
memset(dp,-1,sizeof dp);
return best(n-1);
}
# | 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... |