# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
853377 | abcvuitunggio | Packing Biscuits (IOI20_biscuits) | C++17 | 31 ms | 968 KiB |
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"
#define int long long
int dp[60][60],v[60];
int f(int i, int j){
if (i<0)
return 1;
if (dp[i][j]!=-1)
return dp[i][j];
dp[i][j]=f(i-1,(i&&v[i-1]%(1LL<<i)<v[j]%(1LL<<i)?i-1:j));
if ((v[j]>>i)&1)
dp[i][j]+=f(i-1,i-1);
return dp[i][j];
}
int count_tastiness(int x, std::vector <int> a){
std::fill(v,v+60,0);
for (int i=0;i<a.size();i++)
v[i]=(a[i]<<i);
for (int i=1;i<60;i++)
v[i]+=v[i-1];
for (int i=0;i<60;i++)
v[i]=std::min(v[i]/x,(1LL<<(i+1))-1);
for (int i=0;i<60;i++)
for (int j=0;j<60;j++)
dp[i][j]=-1;
return f(59,59);
}
Compilation message (stderr)
# | 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... |