leetcode

Solution 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;
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 }
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 }
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 };