Submission #569799

#TimeUsernameProblemLanguageResultExecution timeMemory
569799StickfishPacking Biscuits (IOI20_biscuits)C++17
0 / 100
1087 ms340 KiB
#include "biscuits.h" #include <iostream> #include <map> #include <algorithm> using namespace std; using ll = long long; const ll INF = 1e18 + 177013; const ll BORDER = 3e12 + 134; const int MAXK = 60; ll a[MAXK]; map<ll, ll> mp; ll get_ans(ll mxsm) { if (mxsm < 0) return 0; int i = 0; while (1ll << (i + 1) <= mxsm) ++i; mxsm = min(mxsm, a[i]); if (i == 0) return 1 + int(mxsm > 0); if (mp.find(mxsm) != mp.end()) return mp[mxsm]; ll t = get_ans((1ll << i) - 1) + get_ans(mxsm - (1ll << i)); mp[mxsm] = t; return t; } ll count_tastiness(ll x, vector<ll> a_) { int k = a_.size(); for (int i = 0; i < k; ++i) a[i] = a_[i]; for (int i = 1; i < 60; ++i) { a[i] <<= i; a[i] += a[i - 1]; } for (int i = 0; i < k; ++i) { a[i] /= x; } ll ans = 0; //return ans; return get_ans(a[59]); }

Compilation message (stderr)

biscuits.cpp: In function 'll count_tastiness(ll, std::vector<long long int>)':
biscuits.cpp:42:8: warning: unused variable 'ans' [-Wunused-variable]
   42 |     ll ans = 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...