288. Оптимальная константа

Не решаласьЛёгкая

Бэкенд приложения Яндекс Go устроен по принципу микросервисной архитектуры. При таком устройстве модель машинного обучения может применяться в одном микросервисе (сервере) М1, а использоваться её предсказания будут в другом микросервисе М2, общение между которыми происходит по сети. Поэтому внутри микросервиса М2 необходимо обрабатывать ситуацию, когда по какой-то причине предсказания модели нет (например, для некоторого процента запросов сервис М1 не успевает ответить за заданное время). Основной способ обработать отсутствие предсказания — заменить его на дефолтное простое предсказание (оно будет храниться в конфиге в сервисе М2, значит всегда доступно).

Например, сервис М1 может на основе текущей информации о числе пользователей и водителей в районе, текущего времени, погодных условий и т.д. предсказывать число заказов в ближайшие полчаса. Под капотом сервиса — градиентный бустинг, который учитывает всё множество численных и категориальных факторов. На большинство запросов сервиса М2 сервис М1 успевает отдать это точное предсказание. Но если не успел, достанем из конфига константу, рассчитанную по историческим данным за последний месяц. Константу можно рассчитать, оптимизируя разные метрики качества.

Мы можем минимизировать среднеквадратичное отклонение MSE: $$ \text{MSE} = \frac{1}{N} (y_{i} - C)^2 $$

среднюю абсолютную ошибку MAE: $$ \text{MAE} = \frac{1}{N} \|y_i - C\| $$ или cреднюю абсолютную процентную ошибку MAPE: $$ \text{MAPE} = \frac{1}{N} \| \frac{y_i - C}{y_i} \|, $$ где $y_i$ — элемент выборки, а $C$ — искомое константное предсказание.

Формат ввода

В первой строке ввода задано целое число $N$ $(1 \leq N \leq 10^5 + 1)$ — размер выборки.

Следующие $N$ строк содержат по одному целому числу $y_i$ $(1 \leq y_i \leq 10^6)$$i$-му элементу выборки.

Формат вывода

Выведите три действительных числа, разделенных переводами строк:

  1. Константу, минимизирующую MSE на входной выборке.
  2. Константу, минимизирующую MAE на входной выборке.
  3. Константу, минимизирующую MAPE на входной выборке.

Константа будет считаться верной, если абсолютное или относительное отклонение соответствующей метрики от оптимальной не будет превышать $10^-6$.

Ограничения

Ограничение времени

1 с

Ограничение памяти

64 МБ

Пример 1

Ввод
5
6
4
3
5
3
Вывод
4.2
4
3

Пример 2

Ввод
4
10
100
10
100
Вывод
55
100
10

Пример 3

Ввод
5
10
1
3
4
2
Вывод
4
3
2

Теги

Нужно войти, чтобы отправить решение.Войти