Ковариация посылок в пунктах выдачи
Условие
В сети пунктов выдачи для каждой записи фиксируются код пункта, среднее время ожидания посылки в часах и число выданных за смену посылок. Иногда один из числовых показателей не был передан системой и записан как NA.
В конце входных данных задан список кодов пунктов выдачи. В расчёт включаются только записи, код которых есть в этом списке и у которых известны оба числовых показателя. Записи с NA необходимо пропустить.
Для оставшихся k записей требуется найти генеральную ковариацию времени ожидания x и числа выданных посылок y:
C = (1 / k) * Σ((x_i - x̄) * (y_i - ȳ)),
где x̄ и ȳ — средние значения соответствующих показателей по включённым в расчёт записям. Затем требуется вывести значение ковариации и направление связи: положительная, если C > 0, отрицательная, если C < 0, и нулевая, если C = 0.
При равенстве ковариации нулю направлением считается нулевая связь. Гарантируется, что после пропуска записей с NA для запрошенных пунктов останется хотя бы одна запись.
Формат ввода
В первой строке дано целое число n — число записей.
В следующих n строках даны код пункта выдачи, время ожидания и число выданных посылок через пробел. Вместо времени ожидания или числа посылок может стоять строка NA.
Затем дана строка с целым числом q — количеством кодов в запросе.
В следующих q строках даны коды пунктов выдачи из запроса.
Формат вывода
Выведите ковариацию с двумя знаками после точки, затем через пробел направление связи.
Округление выполняется до двух знаков после точки по правилу ближайшего значения. Если третья цифра после точки равна 5, модуль числа округляется в большую сторону.
Ограничения
1 ≤ n ≤ 2000.
1 ≤ q ≤ 50.
Длина кода пункта выдачи составляет от 1 до 12 символов из латинских заглавных букв и цифр.
Если значение не равно NA, то время ожидания является целым числом от 0 до 720, а число выданных посылок — целым числом от 0 до 5000.
Коды в запросе не повторяются. Каждый код из запроса встречается хотя бы в одной записи. После исключения строк с NA остаётся хотя бы одна подходящая строка.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Перечневые олимпиады по информатике — олимпиады перечня Минобрнауки, их уровни и что нужно к диплому
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки