Submission #303613

#TimeUsernameProblemLanguageResultExecution timeMemory
303613gs14004Packing Biscuits (IOI20_biscuits)C++17
42 / 100
1050 ms17092 KiB
#include "biscuits.h" #include <bits/stdc++.h> #define sz(v) ((int)(v).size()) #define all(v) (v).begin(), (v).end() using namespace std; using lint = long long; using pi = pair<lint, lint>; long long count_tastiness(long long x, std::vector<long long> a){ vector<pi> cur; cur = {pi(0, 1)}; for(auto &i : a){ vector<pi> v1, v2; for(auto &[j, k] : cur){ v1.emplace_back((j + i) / 2, k); if(j + i >= x) v2.emplace_back((j + i - x) / 2, k); } vector<pi> v3(sz(v1) + sz(v2)); merge(all(v1), all(v2), v3.begin()); cur.clear(); for(auto &[x, y] : v3){ if(sz(cur) && cur.back().first == x) cur.back().second += y; else cur.emplace_back(x, y); } } lint ret = 0; for(auto &[i, j] : cur) ret += (i/x+1) * j; return ret; }
#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...