n серверов с номерами от 0 до n - 1. Каждая пара links[i] = [u, v] — двусторонний канал между серверами u и v; по каналу любое число сообщений проходит за одну секунду. Сеть связна.
Сервер 0 — главный, остальные — рабочие. В начале секунды 0 каждый рабочий сервер отправляет главному запрос. Сообщения всегда идут по кратчайшему пути. Главный сервер отвечает мгновенно, и ответ идёт обратно тем же путём.
Пока ответ не получен, рабочий сервер i повторяет запрос каждые retry[i] секунд: в секунды retry[i], 2 · retry[i], … Проверка происходит в начале каждой секунды; если ответ уже пришёл (в том числе в эту самую секунду), повторов больше не будет. Каждая копия запроса тоже доходит до главного и получает свой ответ.
Верните самую раннюю секунду, начиная с которой по сети не движется и никуда не прибывает ни одно сообщение.links=[[0, 1], [0, 2]], retry=[0, 3, 1] → 4
Оба сервера в одном шаге от главного, ответ возвращается через 2 секунды. Сервер 1 повторил бы запрос в секунду 3, но ответ приходит раньше. Сервер 2 успевает повторить запрос в секунду 1, ответ на повтор приходит в секунду 3, так что тишина наступает с секунды 4.
links=[[0, 1], [1, 2], [2, 3]], retry=[0, 10, 10, 2] → 11
Сервер 3 в трёх шагах от главного: ответ идёт 6 секунд. Он отправляет запрос в секунды 0, 2 и 4, последний ответ приходит в секунду 10, тишина — с секунды 11. Серверы 1 и 2 получают ответы раньше, чем успевают повторить запрос.
links=[[0, 1], [0, 2]], retry=[0, 3, 1]
4
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 47 тестов на сервере, включая скрытые.