leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
2305.cpp (834B)
0 class Solution { 1 vector<int> children = vector(8, 0); 2 int res = INT_MAX; 3 4 void rec(const vector<int> &cookies, vector<int> &children, int k, int cur, int zero, int maxi = 0) { 5 if (cookies.size() - cur < zero) return; 6 if (cur >= cookies.size()) { 7 res = min(res, maxi); 8 return; 9 } 10 11 for (int i = 0; i < k; i++) { 12 zero -= children[i] == 0 ? 1 : 0; 13 children[i] += cookies[cur]; 14 rec(cookies, children, k, cur + 1, zero, max(maxi, children[i])); 15 children[i] -= cookies[cur]; 16 zero += children[i] == 0 ? 1 : 0; 17 } 18 } 19 20 public: 21 int distributeCookies(const vector<int> &cookies, int k) { 22 vector<int> children = vector(k, 0); 23 rec(cookies, children, k, 0, k); 24 return res; 25 } 26 };