Indicate the run-time complexity of each algorithm given in pseudocode below
RANGE(A, l, r):
1: // Input: array of n real numbers in arbitrary order, l = 0, r = n - 1
2: // Output: the smallest and the largest elements of the array
3: if r - l < 2 then
4: if A[l] < A[r] then
5: return (A[l], A[r])
6: else
7: return (A[r], A[l])
8: else
9: m = [(l + r) / 2]
10: (min1, max) = RANGE(A, l, m)
11: (min2, max2) = RANGE(A, m + 1, r)
12: if min1 < min2 then
13: min2 = min1
14: if max1 > max2 then
15: max2 = max1
16: return (min2, max2)