Submission #623912

#TimeUsernameProblemLanguageResultExecution timeMemory
623912ollelPacking Biscuits (IOI20_biscuits)C++17
0 / 100
1 ms596 KiB
using namespace std; #include <bits/stdc++.h> #include "biscuits.h" typedef vector<int> vi; typedef vector<vi> vvi; typedef long long ll; typedef vector<bool> vb; typedef pair<int,int> pii; #define rep(i,a,b) for(int i = a; i < b; i++) #define pb push_back ll count_tastiness(ll x, vector<ll> a) { int k = a.size() * 4; rep(i,0,k) a.pb(0); rep(i,0,k-1) { if (a[i] <= x) continue; a[i + 1] += (a[i] - x) / 2; a[i] = x; } assert(a[k-1] == 0); vector<vector<ll>> dp(k, vector<ll>(2*x, 0)); dp[0][a[0]] = 1; if (a[0] == x) dp[0][0] = 1; rep(i,0,k-1) rep(j,0,2*x) { dp[i+1][a[i+1] + j/2] += dp[i][j]; if (a[i+1] + j/2 >= x) dp[i+1][a[i+1] + j/2 - x] += dp[i][j]; } ll ans = 0; rep(j,0,2*x) ans += dp[k-1][j]; return ans; }
#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...