#include "biscuits.h"
#include <map>
using namespace std;
using ll = long long;
using mp = map<pair<int, ll>, ll>;
vector<ll> A(200, 0);
ll calc(int current_bit, ll val, mp& dp){
if(current_bit == 199) return 1;
if(dp.find({current_bit, val}) != dp.end())
return dp[{current_bit, val}];
if(val == 0) return dp[{current_bit, val}] = calc(current_bit+1, A[current_bit+1], dp);
return dp[{current_bit, val}] = calc(current_bit+1, A[current_bit+1] + val/2, dp) +
calc(current_bit+1, A[current_bit+1] + (val-1)/2, dp);
}
ll count_tastiness(ll x, vector<ll> a) {
mp dp;
A = vector<ll>(200, 0);
for(int i=0; i<(int)a.size(); i++) A[i] = a[i];
return calc(0, A[0], dp);
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Incorrect |
1 ms |
204 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
1 ms |
204 KB |
Output is correct |
4 |
Correct |
1 ms |
204 KB |
Output is correct |
5 |
Correct |
2 ms |
204 KB |
Output is correct |
6 |
Correct |
1 ms |
204 KB |
Output is correct |
7 |
Correct |
1 ms |
204 KB |
Output is correct |
8 |
Correct |
1 ms |
204 KB |
Output is correct |
9 |
Correct |
1 ms |
204 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
204 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
37 ms |
388 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Incorrect |
1 ms |
204 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |