Submission #306320

#TimeUsernameProblemLanguageResultExecution timeMemory
306320MrDominoPacking Biscuits (IOI20_biscuits)C++14
0 / 100
1093 ms384 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll x; vector<ll> a; vector<ll> limit; int n; int sol; const ll INF = (ll) 2e18; ll mul(ll x, ll y) { if (x == 0 || y == 0) { return 0; } ll p = x * y; if (p % x == 0 && p / x == y && p <= INF) { return p; } else { return INF; } } void bkt(int i, ll sum) { if (i == 60) { sol++; return; } if (sum <= limit[i]) { bkt(i + 1, sum); } if (sum + mul(x, (1LL << i)) <= limit[i]) { ll k = sum + x * (1LL << i); bkt(i + 1, sum + x * (1LL << i)); } } ll count_tastiness(ll xx, vector<ll> aa) { sol = 0; x = xx; a = aa; n = (int) a.size(); limit = a; ll c = 0; for (int i = 0; i < n; i++) { c += (1LL << i) * a[i]; limit[i] = c; } while ((int) limit.size() < 60) { limit.push_back(limit.back()); } bkt(0, 0); return sol; }

Compilation message (stderr)

biscuits.cpp: In function 'void bkt(int, ll)':
biscuits.cpp:45:12: warning: unused variable 'k' [-Wunused-variable]
   45 |         ll k = sum + x * (1LL << i);
      |            ^
#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...