Submission #824077

#TimeUsernameProblemLanguageResultExecution timeMemory
824077drdilyorPacking Biscuits (IOI20_biscuits)C++17
0 / 100
1081 ms18624 KiB
#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;
    while (a.size() && a.back() == 0)
        a.pop_back();

    for (int y = 0; y <= sum / x; y++) {
        auto b = a;
        vector<int> done(x, 0);
        for (int i = k-1; i >= 0; i--) {
            for (int j = 0; j < x; j++) {
                while (done[j] + (1 << i) <= y && b[i]) {
                    b[i]--;
                    done[j] += (1 << i);
                }
            }
        }
        bool ok = true;
        for (int i : done) ok &= i == y;
        ans += ok;
    }
    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...