AM 1251. Split Array Largest Sum
Code ( Language :C++) ( Judger :cloudjudge-cluster-7) Edit class Solution { public : /** * @param nums: a list of integers * @param m: an integer * @return: return a integer */ int splitArray ( vector < int > &nums, int m) { // write your code here // binary search const int size = nums.size(); if (size < m){ return -1 ; } long long sum = 0 ; int maxVal = INT_MIN; for ( auto i : nums){ sum += i; maxVal = max(maxVal, i); } int start = maxVal; long long end = sum; while (start < end){ //注意这里和模板不同 long long mid = start + (end - start) / 2 ; if (!splitNum(nums, mid, m)){ start = mid + 1 ; //注意这里的操作。 } else { end = mid; } } // if(!splitNum(nums, (long long)end, m)){ ...