input: Write a function to improve the time complexity of the provided Python program that finds the maximum sum of any two distinct elements in an array. The function should return this maximum sum.
  
  def find_max_sum(arr):
      max_sum = 0
      left = 0
      right = len(arr) - 1
      while left < right:
          if arr[left] + arr[right] > max_sum:
              max_sum = arr[left] + arr[right]
          if arr[left] > arr[right]:
              right -= 1
          else:
              left += 1
      return max_sum
  
  assert find_max_sum([1, 2, 3, 4, 5])==9
  assert find_max_sum([10, 20, 30, 40, 50])==90
  assert find_max_sum([5, 5, 5, 5, 5])==10
  assert find_max_sum([1, 2, 3, 4, 5, 6])==11
  assert find_max_sum([])==0
  assert find_max_sum([10])==0
output: def find_max_sum(arr):
      if len(arr) < 2:
          return 0
      max1 = max(arr)
      arr.remove(max1)
      max2 = max(arr)
      return max1 + max2