Ctrl K

Загруженные пары серверов

Сложная
В дата-центре servers серверов с номерами от 1 до servers. Они соединены кабелями: cables[i] = [u, v] — кабель между серверами u и v. Между одной парой серверов может быть проложено несколько кабелей. **Нагрузкой** пары серверов (a, b) назовём число кабелей, которые подключены хотя бы к одному из них. Кабель между самими a и b учитывается один раз. Для каждого значения thresholds[j] посчитайте, сколько есть пар a < b с нагрузкой строго больше thresholds[j]. Верните ответы в том же порядке.
Пример 1
servers=4, cables=[[1, 2], [2, 3], [2, 4], [3, 4]], thresholds=[2, 3] → [6, 2]

К серверам 1, 2, 3, 4 подходит 1, 3, 2 и 2 кабеля. Нагрузка пар (2, 3) и (2, 4) равна 3 + 2 − 1 = 4, у остальных четырёх пар она равна 3. Больше 2 нагрузка у всех 6 пар, больше 3 — у двух.

Пример 2
servers=3, cables=[[1, 2], [2, 1], [1, 2]], thresholds=[0, 2] → [3, 3]

Три параллельных кабеля между 1 и 2: нагрузка пары (1, 2) равна 3, а пар (1, 3) и (2, 3) — тоже 3, ведь сервер 3 ни с кем не соединён. Больше 2 нагрузка у всех трёх пар.

Ограничения
  • 2 ≤ servers ≤ 2·10⁴
  • 1 ≤ len(cables) ≤ 10⁵
  • 1 ≤ u, v ≤ servers, u ≠ v
  • 1 ≤ len(thresholds) ≤ 20
  • 0 ≤ thresholds[j] < len(cables)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиK-я по величине разница в паре СложнаяПоездки на самокате с лимитом дороги СложнаяКрасота клумб на бюджете СложнаяРоботы собирают монеты СложнаяТройки с суммой меньше порога Средняя
загружаем Python…
Вход
servers=4, cables=[[1, 2], [2, 3], [2, 4], [3, 4]], thresholds=[2, 3]
Ожидается
[6, 2]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 47 тестов на сервере, включая скрытые.