Бегуны выше среднего по выбранным тренировкам
Условие
В дневнике бегуна каждая строка описывает одну тренировку: имя спортсмена, тип тренировки и пройденную дистанцию в метрах. Иногда дистанция отсутствует и записывается как NA, например если часы не сохранили данные.
После всех записей указан запрос: один или несколько типов тренировок. Учитываются только записи, тип которых указан в запросе. Записи с дистанцией NA при вычислениях не учитываются.
Для каждого бегуна с хотя бы одной известной дистанцией среди выбранных типов вычисляется средняя дистанция: \(\text{среднее} = \frac{\text{сумма известных дистанций бегуна}}{\text{число его известных дистанций}}\). Общее среднее вычисляется по всем известным дистанциям в выбранных записях по той же формуле. Требуется вывести имена бегунов, чья средняя дистанция строго больше общего среднего, в алфавитном порядке.
При равенстве средней дистанции бегуна и общего среднего бегун не выводится. Если у нескольких подходящих бегунов одинаковые средние дистанции, их имена всё равно выводятся в алфавитном порядке. Гарантируется, что среди записей с типами из запроса есть хотя бы одна известная дистанция. Бегун, у которого среди выбранных типов есть только значения NA, не выводится.
Формат ввода
В первой строке дано целое число n — число записей дневника.
В следующих n строках записаны три значения: имя бегуна, тип тренировки и дистанция. Дистанция задана целым числом метров или строкой NA.
В следующей строке дано целое число q — число типов тренировок в запросе.
В следующих q строках записаны типы тренировок из запроса. Типы в запросе не повторяются.
Формат вывода
Выведите имена подходящих бегунов, по одному в строке, в алфавитном порядке.
Если подходящих бегунов нет, выведите единственную строку NONE.
Округление не применяется: сравнение средних выполняется по точным значениям.
Ограничения
1 ≤ n ≤ 2000.
1 ≤ q ≤ 8.
Имя бегуна и тип тренировки состоят из строчных латинских букв, их длина от 3 до 12 символов.
Известная дистанция является целым числом: 1 ≤ distance ≤ 100000.
Количество различных типов тренировок во входных данных не превышает 8.
Каждый тип из запроса встречается хотя бы в одной записи дневника.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Перечневые олимпиады по информатике — олимпиады перечня Минобрнауки, их уровни и что нужно к диплому
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки