Submission #314893

#TimeUsernameProblemLanguageResultExecution timeMemory
314893kostia244Packing Biscuits (IOI20_biscuits)C++17
42 / 100
50 ms20736 KiB
#include "biscuits.h" #include<bits/stdc++.h> #define all(x) begin(x), end(x) using namespace std; using ll = long long; const int B = 126, C = 10005; ll count_tastiness(ll x, vector<ll> a) { ll dp[B+1][C]; memset(dp, 0, sizeof dp); a.resize(B); for(int i = 0; i+1 < B; i++) { ll t = max(0ll, a[i]-x); t -= t&1; a[i] -= t; a[i+1] += t/2; } dp[0][0] = 1; for(int i = 0; i < B; i++) for(int r = 0; r < C; r++) { dp[i+1][(a[i]+r)/2] += dp[i][r]; if(a[i]+r >= x) dp[i+1][(a[i]+r-x)/2] += dp[i][r]; } return dp[B][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...