Submission #1356783

#TimeUsernameProblemLanguageResultExecution timeMemory
1356783SacharlemagnePacking Biscuits (IOI20_biscuits)C++20
9 / 100
1118 ms788640 KiB
#include "biscuits.h"

using namespace std;

typedef long long ll;
typedef vector<ll> vll;

ll count_tastiness(ll x, vll a) {
    a.resize(62);
    vll good = {0};
    ll sum = 0;
    for (int i = 0; i<62; ++i) {
        ll po = 1ll << i;
        sum += po * a[i];
        vll newGood;
        for (ll val : good) {
            __int128 A = val+po;
            A = A * __int128(x);
            if (A <= __int128(sum)) newGood.push_back(val + po);
        }
        for (ll val : newGood) good.push_back(val);
    }
    return good.size();
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...