# Median after K additional integers

• Difficulty Level : Easy
• Last Updated : 12 Jun, 2022

Given an array of n integers. We are allowed to add k additional integer in the array and then find the median of the resultant array. We can choose any k values to be added.
Constraints:

```k < n
n + k is always odd.```

Examples :

```Input : arr[] = { 4, 7 }
k = 1
Output : 7
Explanation : One of the possible solutions
is to add 8 making the array [4, 7, 8], whose
median is 7

Input : arr[] = { 6, 1, 1, 1, 1 }
k = 2
Output : 1
Explanation : No matter what elements we add
to this array, the median will always be 1```

We first sort the array in increasing order. Since value of k is less than n and n+k is always odd, we can always choose to add k elements that are greater than the largest element of an array, and (n+k)/2th element is always a median of the array.

## C++

 `// CPP program to find median of an array when``// we are allowed to add additional K integers``// to it.``#include ``using` `namespace` `std;` `// Find median of array after adding k elements``void` `printMedian(``int` `arr[], ``int` `n, ``int` `K)``{``    ``// sorting  the array in increasing order.``    ``sort(arr, arr + n);` `    ``// printing the median of array.``    ``// Since n + K is always odd and K < n,``    ``// so median of array always lies in``    ``// the range of n.``    ``cout << arr[(n + K) / 2];``}` `// driver function``int` `main()``{``    ``int` `arr[] = { 5, 3, 2, 8 };``    ``int` `k = 3;``    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr);``    ``printMedian(arr, n, k);``    ``return` `0;``}`

## Java

 `// Java program to find median of an array when``// we are allowed to add additional K integers``// to it.``import` `java.util.Arrays;` `class` `GFG {``    ` `    ``// Find median of array after adding k elements``    ``static` `void` `printMedian(``int` `arr[], ``int` `n, ``int` `K)``    ``{``        ` `        ``// sorting the array in increasing order.``        ``Arrays.sort(arr);``    ` `        ``// printing the median of array.``        ``// Since n + K is always odd and K < n,``        ``// so median of array always lies in``        ``// the range of n.``        ``System.out.print(arr[(n + K) / ``2``]);``    ``}``    ` `    ``//Driver code``    ``public` `static` `void` `main (String[] args)``    ``{``        ` `        ``int` `arr[] = { ``5``, ``3``, ``2``, ``8` `};``        ``int` `k = ``3``;``        ``int` `n = arr.length;``        ` `        ``printMedian(arr, n, k);``    ``}``}` `// This code is contributed by Anant Agarwal.`

## Python3

 `# Python3 code to find median of an``# array when we are allowed to add``# additional K integers to it.` `# Find median of array after``# adding k elements``def` `printMedian (arr, n, K):``    ` `    ``# sorting the array in``    ``# increasing order.``    ``arr.sort()``    ` `    ``# printing the median of array.``    ``# Since n + K is always odd``    ``# and K < n, so median of``    ``# array always lies in``    ``# the range of n.``    ``print``( arr[``int``((n ``+` `K) ``/` `2``)])` `# driver function``arr ``=` `[ ``5``, ``3``, ``2``, ``8` `]``k ``=` `3``n ``=` `len``(arr)``printMedian(arr, n, k)` `# This code is contributed by "Sharad_Bhardwaj".`

## C#

 `// C# program to find median of an array when``// we are allowed to add additional K integers``// to it.``using` `System;` `class` `GFG``{``    ``// Find median of array after adding k elements``    ``static` `void` `printMedian(``int` `[]arr, ``int` `n, ``int` `K)``    ``{``        ``// sorting  the array in increasing order.``        ``Array.Sort(arr);``     ` `        ``// printing the median of array.``        ``// Since n + K is always odd and K < n,``        ``// so median of array always lies in``        ``// the range of n.``        ``Console.Write(arr[(n + K) / 2]);``    ``}``    ` `    ``//Driver code``    ``public` `static` `void` `Main ()``    ``{``    ``int` `[]arr = { 5, 3, 2, 8 };``        ``int` `k = 3;``        ``int` `n = arr.Length;``        ``printMedian(arr, n, k);``    ``}``}` `// This code is contributed by  anant321.`

## PHP

 ``

## Javascript

 ``

Output :

`8`

Time complexity: O(nlog(n))
Auxiliary Space: O(1)
This article is contributed by Saloni Gupta. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.