Расхождение среднего и медианы результатов
Условие
На школьной спартакиаде фиксируются результаты забегов в миллисекундах. Для каждой школы необходимо сравнить среднее время её участников с медианным временем.
Пусть у школы после удаления пропусков осталось m результатов x_1, x_2, ..., x_m. Среднее время равно mean = (x_1 + x_2 + ... + x_m) / m. Для определения медианы результаты сортируются по неубыванию. Если m нечётно, медиана равна центральному результату. Если m чётно, медиана равна среднему арифметическому двух центральных результатов.
Для каждой школы вычисляется величина D = |mean - median|. Требуется найти школу с наибольшим значением D и вывести это наибольшее значение.
Пропуск результата обозначается символом - и не участвует ни в среднем, ни в медиане. Гарантируется, что у каждой школы, встречающейся во входных данных, есть хотя бы один результат без пропуска. Если наибольшее значение D достигается у нескольких школ, победившей считается школа с лексикографически меньшим названием; на выводимое значение это не влияет.
Формат ввода
В первой строке дано целое число n — число записей о результатах.
В следующих n строках записаны название школы и результат через пробел. Результат является целым числом миллисекунд либо символом -.
Формат вывода
Выведите наибольшее найденное значение D с ровно шестью знаками после десятичной точки.
Ограничения
1 ≤ n ≤ 4000.
Название школы состоит из строчных латинских букв и цифр, его длина от 1 до 20 символов.
Если результат не является пропуском, то это целое число от 1 до 3600000 миллисекунд.
У каждой школы есть хотя бы один результат без пропуска.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам