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)) {