Problem
Compute the average of the list, then keep only the values strictly greater than it, in their original order.
Implement above_average(numbers).
Input
numbers: The list of integers.
Output
Return the values above the average (an empty list for an empty input).
Constraints
0 ≤ length ≤ 10,000; -1,000,000 ≤ each value ≤ 1,000,000
Examples
Input:
numbers = [1, 2, 3, 4, 10]
Expected output:
expected = [10]
Input:
std::vector<long long> numbers = {1, 2, 3, 4, 10};
Expected output:
std::vector<long long> expected = {10};
Input:
long[] numbers = new long[] {1, 2, 3, 4, 10};
Expected output:
long[] expected = new long[] {10};
Explanation
The average is 20 / 5 = 4; only 10 is greater than 4.
Input:
numbers = [5, 5, 5]
Expected output:
expected = []
Input:
std::vector<long long> numbers = {5, 5, 5};
Expected output:
std::vector<long long> expected = {};
Input:
long[] numbers = new long[] {5, 5, 5};
Expected output:
long[] expected = new long[] {};
Explanation
Every value equals the average 5, so none is greater: [].
References
This challenge is adapted for CodeUtility. Follow the statement and constraints above.