Submission #1234504

#TimeUsernameProblemLanguageResultExecution timeMemory
1234504PlayVoltzPacking Biscuits (IOI20_biscuits)C++20
100 / 100
8 ms840 KiB
#include "biscuits.h" #include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> #define mp make_pair #define pb push_back #define fi first #define se second long long count_tastiness(long long x, vector<long long> a){ while (a.size()<=60)a.push_back(0); vector<int> psum(65, a[0]), dp(65, 0); for (int i=1; i<=60; ++i)psum[i]=psum[i-1]/2+a[i]; dp[0]=1+(a[0]>=x); for (int i=1; i<=60; ++i){ dp[i]=dp[i-1]; if (psum[i]<x)continue; int c=max(0ll, x-a[i]); for (int j=i-1; j>=1; --j){ c*=2; if (psum[j]>=c+x)dp[i]+=dp[j-1], c=max(0ll, c+x-a[j]); else c=max(0ll, c-a[j]); } dp[i]+=(a[0]>=c*2+x?2:1); } return dp[60]; }
#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...