Проверьте, можно ли создать массив со средним значением X, используя N элементов данного массива.
Учитывая массив arr[] и два целых числа N и X , задача состоит в том, чтобы выяснить, возможно ли создать массив, используя N различных элементов из arr[] так, чтобы среднее значение вновь сформированного массива было равно X.
Примеры:
Input: N = 5, X = 8, arr[] = {1, 10, 3, 2, 6, 7, 4, 5}
Output: YES
Explanation: Many arrays using 5 distinct elements from the array are possible like {10, 6, 7, 4, 5, 10, 10, 10, 10}Input: N = 3, X = 4, arr[] = {9, 7, 5}
Output: NO
Explanation: There is no possible array by a given finite set. So the mean of the array becomes exact to X.Therefore, the answer is NO.
Подход: Реализуйте идею ниже, чтобы решить проблему:
It is always possible to make mean X from a given arr[] of the integer if it lies in between the minimum and maximum integer in an arr[]. Formally, if ( X >= MinValue && X <= MaxValue ) then, the answer will be YES only for those cases otherwise NO.
Были предприняты шаги для решения проблемы:
- Создайте целочисленную переменную min и сохраните минимальное значение в этой переменной, перебирая arr[] .
- Создайте целочисленную переменную max и сохраните максимальное значение в этой переменной, перебирая arr[] .
- если X находится в диапазоне минимального и максимального значения arr[], то напечатайте YES , иначе напечатайте NO .
Ниже приведена реализация описанного выше подхода.
Временная сложность: O(N)
Вспомогательное пространство: O(1)