Advertisement
nikunjsoni

1231

May 11th, 2021
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int maximizeSweetness(vector<int>& sweetness, int K) {
  4.         int low, high, cuts, sum;
  5.         low = INT_MAX; sum = 0;
  6.         for(int &num: sweetness){
  7.             sum += num;
  8.             low = min(low, num);
  9.         }
  10.         high = sum/(K+1);
  11.        
  12.         while(low < high){
  13.             int mid = (low+high+1)/2;
  14.             sum = 0;
  15.             cuts = 0;
  16.             for(int &x: sweetness){
  17.                 sum += x;
  18.                 if(sum >= mid){
  19.                     sum = 0;
  20.                     cuts++;
  21.                 }
  22.                 if(cuts == K+1) break;
  23.             }
  24.             if(cuts > K)
  25.                 low = mid;
  26.             else
  27.                 high = mid-1;
  28.         }
  29.         return low;
  30.     }
  31. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement