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"
#include <bits/stdc++.h>
#define all(x) (x).begin(), (x).end()
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<ll, ll> pll;
typedef pair<ull, ull> pull;
typedef pair<int, int> pii;
typedef pair<ld, ld> pld;
long long count_tastiness(long long x, std::vector<long long> a) {
ll n = a.size();
vector<vector<ll>> dp(n+1, vector<ll>(x+1));
for(ll i = 0; i < n-1; ++i)
if(a[i] >= x){
a[i+1] += (a[i]-x)/2;
a[i] = x;
}
dp[0][0] = 1;
for(ll i = 0; i < n-1; ++i)
for(ll j = 0; j <= x; ++j){
ll curval = a[i]+j;
dp[i+1][curval/2] += dp[i][j];
if(curval >= x)
dp[i+1][(curval-x)/2] += dp[i][j];
}
ll ans = 0;
for(ll j = 0; j <= x; ++j){
ans += dp[n-1][j]*((a[n-1]+j)/x+1);
}
return ans;
}
# | 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... |