Корреляция сроков обработки заявок
Условие
Провайдер анализирует завершённые заявки в службу поддержки. Для каждой заявки известны время ожидания первого ответа и общее время решения проблемы.
Необходимо вычислить коэффициент ранговой корреляции Спирмена между временем ожидания и временем решения. Канал обращения хранится во входных данных для описания заявки, но в вычислении коэффициента не используется.
Для каждого из двух числовых признаков значения заменяются рангами: наименьшее значение получает ранг 1, следующее — ранг 2 и так далее. Пусть \(d_i\) — разность рангов времени ожидания и времени решения для заявки \(i\). При \(n \ge 2\) коэффициент Спирмена равен
\[ \rho = 1 - \frac{6\sum_{i=1}^{n} d_i^2}{n(n^2-1)}. \]
Если заявка одна, коэффициент по определению этой задачи считается равным 0. Все времена ожидания попарно различны, и все времена решения попарно различны, поэтому совпадений рангов не возникает. Значения канала обращения могут совпадать и на вычисление не влияют. Пропусков в данных нет.
Формат ввода
В первой строке дано целое число \(n\) — количество заявок.
В следующих \(n\) строках содержатся три целых числа: wait_minutes, resolve_minutes, channel_code — время ожидания первого ответа в минутах, общее время решения в минутах и код канала обращения соответственно.
Формат вывода
Выведите коэффициент ранговой корреляции Спирмена с тремя знаками после десятичной точки.
Ограничения
\(1 \le n \le 4000\).
\(1 \le wait\_minutes \le 10^9\).
\(1 \le resolve\_minutes \le 10^9\).
\(1 \le channel\_code \le 5\).
Все значения wait_minutes попарно различны. Все значения resolve_minutes попарно различны.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать