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<bits/stdc++.h>
#include "biscuits.h"
using namespace std;
typedef long long ll;
map< pair<int,ll>, ll> dp;
ll rec(ll x, const vector<ll> &a, int idx, ll extra) {
if (idx >= a.size())
return extra/x + 1;
if (dp.find( pair<int,ll>(idx, extra) ) != dp.end())
return dp[ pair<int,ll>(idx, extra) ];
ll avail = extra + a[idx];
return dp[ pair<int,ll>(idx, extra) ] =
(avail >= x ? rec(x, a, idx+1, (avail-x)/2) : 0)
+ rec(x, a, idx+1, avail/2);
}
ll count_tastiness(ll x, vector<ll> a) {
dp.clear();
return rec(x, a, 0, 0);
}
Compilation message (stderr)
biscuits.cpp: In function 'll rec(ll, const std::vector<long long int>&, int, ll)':
biscuits.cpp:9:10: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
9 | if (idx >= a.size())
| ~~~~^~~~~~~~~~~
# | 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... |