title: Smallest Sum Contiguous Subarray
signature: smallest_sum_contiguous_subarray <- function(arr, n) {
source_py: def smallest_sum_contiguous_subarray(arr, n):
      min_ending_here = sys.maxsize
      min_so_far = sys.maxsize
      for i in range(n):
          if (min_ending_here > 0):
              min_ending_here = arr[i]
          else:
              min_ending_here += arr[i]
          min_so_far = min(min_so_far, min_ending_here)
      return min_so_far
source_cpp: int smallest_sum_contiguous_subarray(vector<int> arr, int n) {
    int min_ending_here = INT_MAX;
    int min_so_far = INT_MAX;
    for ( int i = 0;
    i < n;
    i ++ ) {
      if ( min_ending_here > 0 ) min_ending_here = arr [ i ];
      else min_ending_here += arr [ i ];
      min_so_far = min ( min_so_far, min_ending_here );
    }
    return min_so_far;
  }