title: Chocolate Distribution Problem
signature: def chocolateDistributionProblem(arr: List[Int], n: Int, m: Int) = {
source_py: def chocolate_distribution_problem(arr, n, m):
      if ((m == 0) or (n == 0)):
          return 0
      arr.sort()
      if (n < m):
          return (- 1)
      min_diff = sys.maxsize
      first = 0
      last = 0
      i = 0
      while (((i + m) - 1) < n):
          diff = (arr[((i + m) - 1)] - arr[i])
          if (diff < min_diff):
              min_diff = diff
              first = i
              last = ((i + m) - 1)
          i += 1
      return (arr[last] - arr[first])
source_cpp: int chocolate_distribution_problem(vector<int> arr, int n, int m) {
    if ( m == 0 || n == 0 ) return 0;
    sort(arr.begin(), arr.end());
    if ( n < m ) return - 1;
    int min_diff = INT_MAX;
    int first = 0, last = 0;
    for ( int i = 0;
    i + m - 1 < n;
    i ++ ) {
      int diff = arr [ i + m - 1 ] - arr [ i ];
      if ( diff < min_diff ) {
        min_diff = diff;
        first = i;
        last = i + m - 1;
      }
    }
    return ( arr [ last ] - arr [ first ] );
  }