Given an array of **2 * n** elements, the task is to construct and print an array of **n** elements such that the mean of the new array is maximum. Here **n is even**.

**Examples:**

Input:arr[] = {3, 1, 2, 3, 8, 6}Output:3 6 8Input:arr[] = {3, 2, 3, 8}Output:3 8

**Approach:** Mean of an array is the average of the elements of the same array i.e **(∑arr[i]) / n**. So, in order for the mean of the array to be maximum, choose the maximum **n** elements from the array, this can be done by first sorting the array and then choosing the elements starting from the maximum.

Below is the implementation of the above approach:

## C++

`// C++ implementation of the approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Utility function to print the contents` `// of an array` `void` `printArray(` `int` `arr[], ` `int` `n)` `{` ` ` `for` `(` `int` `i = 0; i < n; i++)` ` ` `cout << arr[i] << ` `" "` `;` `}` `// Function to print the array with` `// maximum mean` `void` `printMaxMean(` `int` `arr[], ` `int` `n)` `{` ` ` `int` `newArr[n];` ` ` `// Sort the original array` ` ` `sort(arr, arr + 2 * n);` ` ` `// Construct new array` ` ` `for` `(` `int` `i = 0; i < n; i++)` ` ` `newArr[i] = arr[i + n];` ` ` `// Print the resultant array` ` ` `printArray(newArr, n);` `}` `// Driver code` `int` `main()` `{` ` ` `int` `arr[] = { 4, 8, 3, 1, 3, 7, 0, 4 };` ` ` `int` `n = ` `sizeof` `(arr) / ` `sizeof` `(arr[0]);` ` ` `printMaxMean(arr, n / 2);` ` ` `return` `0;` `}` |

## Java

`// Java implementation of the approach` `import` `java.util.Arrays;` `class` `GfG{` ` ` `// Utility function to print the ` ` ` `// contents of an array` ` ` `static` `void` `printArray(` `int` `arr[], ` `int` `n)` ` ` `{` ` ` `for` `(` `int` `i = ` `0` `; i < n; i++)` ` ` `System.out.print(arr[i] + ` `" "` `);` ` ` `}` ` ` ` ` `// Function to print the array ` ` ` `// with maximum mean` ` ` `static` `void` `printMaxMean(` `int` `arr[], ` `int` `n)` ` ` `{` ` ` `int` `newArr[] = ` `new` `int` `[n];` ` ` ` ` `// Sort the original array` ` ` `Arrays.sort(arr, ` `0` `, ` `2` `* n);` ` ` ` ` `// Construct new array` ` ` `for` `(` `int` `i = ` `0` `; i < n; i++)` ` ` `newArr[i] = arr[i + n];` ` ` ` ` `// Print the resultant array` ` ` `printArray(newArr, n);` ` ` `}` ` ` `// Driver code` ` ` `public` `static` `void` `main(String []args)` ` ` `{` ` ` `int` `arr[] = { ` `4` `, ` `8` `, ` `3` `, ` `1` `, ` `3` `, ` `7` `, ` `0` `, ` `4` `};` ` ` `int` `n = arr.length;` ` ` `printMaxMean(arr, n / ` `2` `);` ` ` `}` `}` `// This code is contributed by` `// Rituraj Jain` |

## Python3

`# Python3 implementation of the approach` `# Utility function to print the contents` `# of an array` `def` `printArray(arr, n) :` ` ` `for` `i ` `in` `range` `(n) :` ` ` `print` `(arr[i], end ` `=` `" "` `)` `# Function to print the array with` `# maximum mean` `def` `printMaxMean(arr, n) :` ` ` `newArr ` `=` `[` `0` `] ` `*` `n` ` ` `# Sort the original array` ` ` `arr.sort()` ` ` `# Construct new array` ` ` `for` `i ` `in` `range` `(n) :` ` ` `newArr[i] ` `=` `arr[i ` `+` `n]` ` ` `# Print the resultant array` ` ` `printArray(newArr, n)` `# Driver code` `if` `__name__ ` `=` `=` `"__main__"` `:` ` ` `arr ` `=` `[ ` `4` `, ` `8` `, ` `3` `, ` `1` `, ` `3` `, ` `7` `, ` `0` `, ` `4` `]` ` ` `n ` `=` `len` `(arr)` ` ` `printMaxMean(arr, n ` `/` `/` `2` `)` `# This code is contributed by Ryuga` |

## C#

`// C# implementation of the approach` `using` `System;` `class` `GfG` `{` ` ` `// Utility function to print the` ` ` `// contents of an array` ` ` `static` `void` `printArray(` `int` `[] arr, ` `int` `n)` ` ` `{` ` ` `for` `(` `int` `i = 0; i < n; i++)` ` ` `Console.Write(arr[i] + ` `" "` `);` ` ` `}` ` ` ` ` `// Function to print the array` ` ` `// with maximum mean` ` ` `static` `void` `printMaxMean(` `int` `[] arr, ` `int` `n)` ` ` `{` ` ` `int` `[] newArr = ` `new` `int` `[n];` ` ` ` ` `// Sort the original array` ` ` `Array.Sort(arr, 0, 2 * n);` ` ` ` ` `// Construct new array` ` ` `for` `(` `int` `i = 0; i < n; i++)` ` ` `newArr[i] = arr[i + n];` ` ` ` ` `// Print the resultant array` ` ` `printArray(newArr, n);` ` ` `}` ` ` `// Driver code` ` ` `public` `static` `void` `Main()` ` ` `{` ` ` `int` `[] arr = { 4, 8, 3, 1, 3, 7, 0, 4 };` ` ` `int` `n = arr.Length;` ` ` `printMaxMean(arr, n / 2);` ` ` `}` `}` `// This code is contributed by Ita_c.` |

## PHP

`<?php` `// PHP implementation of the approach` `// Utility function to print the contents` `// of an array` `function` `printArray(` `$arr` `, ` `$n` `)` `{` ` ` `for` `(` `$i` `= 0; ` `$i` `< ` `$n` `; ` `$i` `++)` ` ` `echo` `$arr` `[` `$i` `] . ` `" "` `;` `}` `// Function to print the array with` `// maximum mean` `function` `printMaxMean(` `$arr` `, ` `$n` `)` `{` ` ` `$newArr` `[` `$n` `] = ` `array` `();` ` ` `// Sort the original array` ` ` `sort(` `$arr` `,0);` ` ` `// Construct new array` ` ` `for` `(` `$i` `= 0; ` `$i` `< ` `$n` `; ` `$i` `++)` ` ` `$newArr` `[` `$i` `] = ` `$arr` `[` `$i` `+ ` `$n` `];` ` ` `// Print the resultant array` ` ` `printArray(` `$newArr` `, ` `$n` `);` `}` `// Driver code` `$arr` `= ` `array` `(4, 8, 3, 1, 3, 7, 0, 4);` `$n` `= sizeof(` `$arr` `);` `printMaxMean(` `$arr` `, ` `$n` `/ 2);` `// This code is contributed` `// by Akanksha Rai` |

## Javascript

`<script>` `// javascript implementation of the approach` ` ` `// Utility function to prvar the` ` ` `// contents of an array` ` ` `function` `printArray(arr , n) {` ` ` `for` `(i = 0; i < n; i++)` ` ` `document.write(arr[i] + ` `" "` `);` ` ` `}` ` ` `// Function to prvar the array` ` ` `// with maximum mean` ` ` `function` `printMaxMean(arr , n) {` ` ` `var` `newArr = Array(n).fill(0);` ` ` `// Sort the original array` ` ` `arr.sort((a,b)=>a-b);` ` ` `// Construct new array` ` ` `for` `(i = 0; i < n; i++)` ` ` `newArr[i] = arr[i + n];` ` ` `// Prvar the resultant array` ` ` `printArray(newArr, n);` ` ` `}` ` ` `// Driver code` ` ` ` ` `var` `arr = [ 4, 8, 3, 1, 3, 7, 0, 4 ];` ` ` `var` `n = arr.length;` ` ` `printMaxMean(arr, n / 2);` `// This code contributed by gauravrajput1` `</script>` |

**Output:**

4 4 7 8

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend live classes with industry experts, please refer **Geeks Classes Live**