class Solution {
int INF = 0x3f3f3f3f;
int ans = INF;
int k;
int[] sum = new int[8];
int[] c;
public int distributeCookies(int[] cookies, int k) {
c = cookies;
this.k = k;
dfs(0);
return ans;
}
private void dfs(int u){
if(u >= c.length){
int maxv = -INF;
for(int i = 0; i < k; i++){
maxv = Math.max(maxv, sum[i]);
}
ans = Math.min(ans, maxv);
return;
}
for(int i = 0; i < k; i++){
sum[i] += c[u];
if(sum[i] < ans){
dfs(u + 1);
}
sum[i] -= c[u];
}
}
}