Jathin

Untitled

Sep 27th, 2021
770
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. int Solution::solve(vector<int> &A, int B) {
  2.     int lo = 0 ;
  3.     int hi = INT_MIN;
  4.     for(int i = 0 ; i < A.size() ; i++){
  5.         hi = max(hi, A[i]);
  6.     }
  7.     while(hi >= lo){
  8.         int mid = lo + (hi-lo)/2;
  9.         long long int sum = 0;
  10.         for(int i = 0 ; i < A.size() ; i++){
  11.             if(A[i] > mid){
  12.                 sum += A[i]-mid;
  13.             }
  14.         }
  15.         if(sum == B)
  16.          return mid;
  17.         else if(sum < B){
  18.             hi = mid - 1;
  19.         }
  20.         else
  21.             lo = mid + 1;
  22.     }
  23.     return hi;
  24. }
  25.  
RAW Paste Data