Разброс длительностей поездок велопроката
Условие
В системе городского велопроката каждая запись содержит идентификатор станции начала поездки и её длительность в минутах. Для части поездок длительность ещё не поступила в систему и обозначена строкой NA.
Для каждого идентификатора станции из запроса требуется вычислить генеральную дисперсию и генеральное стандартное отклонение длительностей поездок, начавшихся на этой станции. Записи с NA в вычисления не включаются.
Если для станции из запроса известно k числовых длительностей x_1, x_2, ..., x_k, то их среднее равно μ = (x_1 + x_2 + ... + x_k) / k. Генеральная дисперсия равна D = ((x_1 - μ)^2 + (x_2 - μ)^2 + ... + (x_k - μ)^2) / k, а генеральное стандартное отклонение равно σ = √D. При одинаковых длительностях все такие поездки учитываются отдельно.
Для каждого значения запроса необходимо вывести в отдельной строке сначала D, затем σ. Повторяющиеся идентификаторы в запросе также обрабатываются отдельно. Для каждой запрошенной станции гарантируется хотя бы одна запись с числовой длительностью.
Формат ввода
В первой строке дано целое число n — число записей о поездках.
В следующих n строках даны два значения: station_id и duration. station_id — идентификатор станции начала поездки. duration — целая длительность в минутах или строка NA.
Затем дано целое число q — число значений в запросе.
В следующих q строках дано по одному целому числу station_id — идентификатор станции, для которой требуется вычислить показатели.
Формат вывода
Выведите q строк. В каждой строке выведите генеральную дисперсию и генеральное стандартное отклонение для очередной станции из запроса через пробел.
Каждое число выводится ровно с двумя знаками после десятичной точки.
Ограничения
1 ≤ n ≤ 2000.
1 ≤ station_id ≤ 500.
Числовая длительность удовлетворяет 1 ≤ duration ≤ 1440.
Строка пропуска имеет вид NA и длину 2 символа.
1 ≤ q ≤ 100.
Для каждого идентификатора из запроса существует хотя бы одна строка с этим идентификатором и числовой длительностью.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Родителям: подготовка бесплатно — сколько стоит репетитор, что даёт бесплатный маршрут и как понять, что ребёнок занимается