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;
using ll = long long;
const int T = 120;
long long count_tastiness(long long x, std::vector<long long> a) {
int k = a.size();
int ans = 0;
int sum = 0;
for (int i = 0; i < k; i++)
sum += a[i] << i;
vector<int> vals;
for (int i = 0; i < k;i ++) {
for (int j = 0; j < a[i]; j++)
vals.push_back(1 << i);
}
for (int y = 0; y <= sum / x; y++) {
auto b = a;
vector<int> done(x, 0);
int j = 0;
for (int i = k-1; i >= 0; i--) {
for (int jj = 0; jj < x; jj++) {
ll diff = y - done[j];
ll need = diff >> i;
ll use = min(need, b[i]);
b[i] -= use;
done[j] += use << i;
if (b[i] == 0) break;
j = (j+1) % x;
}
}
bool ok = true;
for (int i : done) ok &= i == y;
ans += ok;
}
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... |