Submission #309704

#TimeUsernameProblemLanguageResultExecution timeMemory
309704georgerapeanuPacking Biscuits (IOI20_biscuits)C++17
42 / 100
1088 ms16484 KiB
#include "biscuits.h" #include <vector> #include <algorithm> #include <unordered_map> using namespace std; const int maxK = 128; long long count_tastiness(long long x, vector<long long> a) { unordered_map<long long,long long> mp; mp[0] = 1; while(a.size() < maxK){ a.push_back(0); } for(int i = 0;i < maxK - 1;i++){ if(a[i] >= x){ a[i + 1] += (a[i] - x) / 2; a[i] -= ((a[i] - x) / 2) * 2; } } for(int i = 0;i < (int)a.size();i++){ unordered_map<long long,long long> tmp; for(auto it2:mp){ pair<long long,long long> it = it2; it.first += a[i]; tmp[it.first / 2] += it.second; if(it.first >= x){ tmp[(it.first - x) / 2] += it.second; } } mp = tmp; } return mp[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...