Submission #1240351

#TimeUsernameProblemLanguageResultExecution timeMemory
1240351Ghulam_JunaidPacking Biscuits (IOI20_biscuits)C++20
0 / 100
1096 ms320 KiB
#include <bits/stdc++.h>
#include "biscuits.h"
using namespace std;

typedef long long ll;

ll count_tastiness(ll x, vector<ll> a){
    ll k = a.size();
    ll ans = 1, sm = 0;
    for (ll i = 0; i < k; i ++)
        sm += a[i] * (1ll << i);

    vector<ll> cpy = a;
    for (ll y = 1; x * y <= sm; y ++){
        a = cpy;
        bool good = 1;
        for (ll it = 0; it < x; it ++){
            ll cur = y;
            for (ll i = k - 1; i >= 0; i --){
                while (cur >= (1ll << i) and a[i]){
                    a[i]--;
                    cur -= (1ll << i);
                }
            }
            good &= (cur == 0);
            if (!good) break;
        }

        ans += good;
    }

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