Submission #1194903

#TimeUsernameProblemLanguageResultExecution timeMemory
1194903simona1230Packing Biscuits (IOI20_biscuits)C++20
0 / 100
0 ms400 KiB
#include "biscuits.h" #include <bits/stdc++.h> using namespace std; long long p[64],h[64]; long long dp[64]; long long f[64]; long long count_tastiness(long long x, std::vector<long long> a) { p[0]=1; for(long long i=1;i<a.size();i++) p[i]=p[i-1]*2; dp[a.size()-1]=a[a.size()-1]; f[a.size()-1]=1; for(int i=a.size()-2;i>=0;i--) { dp[i]=min(a[i], 1LL*2)*f[i+1]; if(a[i]==0)f[i]=1; for(int j=1;j<=a.size();j++) { long long rt=min(a[i]-1,p[j]-1); long long lf=p[j-1]; if(j==1)lf--; if(lf>a[i])break; if(i+j==a.size()) { dp[i]+=(a[i]-p[j-1]); f[i]=1; break; } dp[i]+=(dp[i+j])*(rt-lf+1); if(p[j]-1>=a[i]) { f[i]=dp[i+j]+f[i+j]; break; } } //cout<<i<<" "<<dp[i]<<" "<<f[i]<<endl; } //cout<<sum/x<<endl; return dp[0]+f[0]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...