# Given 2 sorted arrays **Ar1** and **Ar2** of size **N** each. Merge the given arrays and find the sum of the two middle elements of the merged array.

--

Given 2 sorted arrays **Ar1** and **Ar2** of size **N** each. Merge the given arrays and find the sum of the two middle elements of the merged array.

**Example 1:**

**Input:**

N = 5

Ar1[] = {1, 2, 4, 6, 10}

Ar2[] = {4, 5, 6, 9, 12}

**Output:** 11

**Explanation:** The merged array looks like

{1,2,4,4,**5,6,**6,9,10,12}. Sum of middle

elements is 11 (5 + 6).

**Example 2:**

**Input:**

N = 5

Ar1[] = {1, 12, 15, 26, 38}

Ar2[] = {2, 13, 17, 30, 45}

**Output:** 32

**Explanation:** The merged array looks like

{1, 2, 12, 13, 1**5, 17,** 26, 30, 38, 45}

sum of middle elements is 32 (15 + 17).

**Your Task:**

You don’t need to read input or print anything. Your task is to complete the function **findMidSum()** which takes **ar1, ar2** and **n **as input parameters and returns the sum of middle elements.

**Expected Time Complexity:** O(log N)**Expected Auxiliary Space:** O(1)

**Constraints:**

1 <= N <= 103

1 <= Ar1[i] <= 106

1 <= Ar2[i] <= 106

**Solution:**

//Given 2 sorted arrays Ar1 and Ar2 of size N each. Merge the given arrays and find the sum of the two middle elements of the merged array.func sumOfSortedArray(Ar1:[Int], Ar2:[Int],N:Int)->Int{var newArray = [Int]()newArray.append(contentsOf: Ar1)newArray.append(contentsOf: Ar2)newArray = newArray.sorted()//this is how we can get middle index by total of both array divided by 2 and need to minus 1 because array always start with 0 not 1.let middleElementIndex = ((N+N)/2) - 1let sum = newArray[middleElementIndex] + newArray[middleElementIndex + 1]print(sum)return sum}