Средняя сумма заказов после замены пропусков
Условие
В журнале заказов службы доставки еды для каждого заказа записана итоговая сумма в рублях. В некоторых строках сумма не была сохранена и обозначена символом -.
Пропуски требуется заменить медианой всех известных сумм заказов в этой колонке. После замены необходимо найти среднее арифметическое сумм всех заказов.
Если известные суммы после сортировки равны x_1, x_2, ..., x_k, то их медиана равна x_((k+1)/2) при нечётном k. При чётном k медиана равна (x_(k/2) + x_(k/2+1)) / 2. Среднее арифметическое очищенной колонки из n значений равно (a_1 + a_2 + ... + a_n) / n.
При равенстве значений заказов их относительный порядок не влияет на результат. Гарантируется, что хотя бы одна сумма известна, поэтому медиана всегда определена.
Формат ввода
В первой строке дано целое число n — количество записей в журнале.
В следующих n строках содержится сумма одного заказа: целое число рублей или символ -, обозначающий пропуск.
Формат вывода
Выведите среднее арифметическое сумм после замены всех пропусков медианой известных сумм.
Ответ необходимо вывести ровно с двумя знаками после точки.
Ограничения
1 ≤ n ≤ 2000.
Каждая известная сумма является целым числом от 0 до 100000 рублей.
Длина строки со значением суммы составляет от 1 до 6 символов, длина строки с пропуском равна 1.
Во входных данных есть хотя бы одна известная сумма.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать