Submission #1243508

#TimeUsernameProblemLanguageResultExecution timeMemory
1243508Blistering_Barnacles비스킷 담기 (IOI20_biscuits)C++20
0 / 100
1097 ms963452 KiB
#include "biscuits.h"
#include "bits/stdc++.h"
using namespace std;

long long count_tastiness(long long x, vector<long long> a) {
    for (int i = 0; i < (int)a.size(); i++) {
        if (a[i] >= x + 2) {
            if (i == (int)a.size() - 1) a.push_back(0);
            int64_t val = (a[i] - x) / 2;
            a[i] -= val * 2, a[i + 1] += val;
        }
    }
    vector<vector<int64_t>> dp((int)a.size(), vector<int64_t> (x + 3, -1));
    function<int64_t(int, int)> mem = [&](int i, int sum) {
        if (i == (int)a.size()) return (int64_t)1;
        int64_t &ret = dp[i][sum];
        if (ret != -1) return ret;
        ret = mem(i + 1, (sum + a[i]) / 2);
        if (sum + a[i] >= x) {
            ret += mem(i + 1, (sum + a[i] - x) / 2);
        }
        return ret;
    };
    return mem(0, 0);
}

#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...