Ковариация очков и времени забега
Условие
На школьной спартакиаде секретарь записал результаты в две отдельные таблицы. В первой таблице указаны стартовые номера участников и набранные ими очки. Во второй таблице указаны стартовые номера и время финиша в секундах.
Строки таблиц расположены в разном порядке. Данные одного участника необходимо сопоставить по стартовому номеру. Если время финиша равно -1, участник не финишировал и в расчёте не участвует. Также не участвуют участники, чей стартовый номер есть только в одной из таблиц.
Для всех оставшихся k участников вычисляется генеральная ковариация очков x и времени y:
cov(x, y) = (1 / k) * Σ((xᵢ - x̄) * (yᵢ - ȳ)),
где x̄ — среднее число очков оставшихся участников, а ȳ — их среднее время. Затем определяется направление связи: positive, если ковариация больше нуля, negative, если она меньше нуля, и zero, если она равна нулю.
При равенстве ковариации нулю необходимо вывести слово zero. Гарантируется, что после исключения отсутствующих результатов останется хотя бы один участник.
Формат ввода
В первой строке даны два целых числа n и m — количество строк в таблице очков и количество строк в таблице времени соответственно.
В следующих n строках даны два целых числа bib и points — стартовый номер и число очков участника.
В следующих m строках даны два целых числа bib и time — стартовый номер и время финиша в секундах. Значение time = -1 означает отсутствие результата.
Стартовые номера внутри каждой таблицы не повторяются.
Формат вывода
Выведите ковариацию с двумя знаками после точки, затем пробел и направление связи: positive, negative или zero.
Округление выполняется до ближайшего значения с двумя знаками после точки. Если число находится ровно посередине, модуль результата округляется в большую сторону.
Ограничения
1 ≤ n, m ≤ 2000.
1 ≤ bib ≤ 1 000 000.
0 ≤ points ≤ 100.
time = -1 или 600 ≤ time ≤ 3600.
После сопоставления таблиц и исключения строк с time = -1 количество участников k удовлетворяет условию 1 ≤ k ≤ 2000.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам