22bool check(std::vector<int>& v,
int mid,
int K) {
26 for (
int i = 0; i < int(v.size()); i++) {
38 return (splits <= K) ? true :
false;
52int minimum_max_sub_sum(std::vector<int>& v,
int K) {
54 int end = std::accumulate(v.begin(), v.end(), 0);
57 while (start <= end) {
58 int mid = start + (end - start) / 2;
60 if (helpers::check(v, mid, K)) {