Submission #303728

#TimeUsernameProblemLanguageResultExecution timeMemory
303728ludoPacking Biscuits (IOI20_biscuits)C++14
21 / 100
1093 ms36984 KiB
#include<bits/stdc++.h> #include "biscuits.h" using namespace std; typedef long long ll; map< pair<int,ll>, ll> dp; ll rec(ll x, const vector<ll> &a, int idx, ll extra) { if (idx >= a.size()) return extra/x + 1; if (dp.find( pair<int,ll>(idx, extra) ) != dp.end()) return dp[ pair<int,ll>(idx, extra) ]; ll avail = extra + a[idx]; return dp[ pair<int,ll>(idx, extra) ] = (avail >= x ? rec(x, a, idx+1, (avail-x)/2) : 0) + rec(x, a, idx+1, avail/2); } ll count_tastiness(ll x, vector<ll> a) { dp.clear(); return rec(x, a, 0, 0); }

Compilation message (stderr)

biscuits.cpp: In function 'll rec(ll, const std::vector<long long int>&, int, ll)':
biscuits.cpp:9:10: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    9 |  if (idx >= a.size())
      |      ~~~~^~~~~~~~~~~
#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...