Submission #602859

#TimeUsernameProblemLanguageResultExecution timeMemory
602859MohamedFaresNebiliPacking Biscuits (IOI20_biscuits)C++14
0 / 100
1094 ms340 KiB
#include <bits/stdc++.h>
/// #pragma GCC optimize ("Ofast")
/// #pragma GCC target ("avx2")
/// #pragma GCC optimize("unroll-loops")
 
            using namespace std;
 
            using ll = long long;
            using ii = pair<ll, ll>;
            using vi = vector<int>;
 
            #define ff first
            #define ss second
            #define pb push_back
            #define all(x) (x).begin(), (x).end()
            #define lb lower_bound
 
            const int oo = 1000 * 1000 * 1000 + 7;
 
            ll count_tastiness(ll X, vector<ll> A) {
                ll K = A.size(); ll res = 0;
                ll C = 0, pw[64]; pw[0] = 1;
                for(ll l = 1; l < 62; l++)
                    pw[l] = pw[l - 1] * 2;
                for(ll l = 0; l < K; l++)
                    C += pw[l] * A[l];
                for(ll l = 0; l <= C; l++) {
                    ll T = 0; bool O = 1;
                    for(ll i = 0; i < K && O; i++) {
                        if(!(l & pw[i])) {
                            T += A[i]; T /= 2;
                            continue;
                        }
                        T += A[i];
                        if(T < X) O = 0;
                        else { T -= X; T /= 2; }
                    }
                    res += (O == true);
                }
                return res;
            }
#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...