robots хранит координаты роботов, а shops[j] = [position, capacity] означает, что мастерская стоит в точке position и может починить не больше capacity роботов. Координаты роботов попарно различны, координаты мастерских тоже; робот может стоять в той же точке, что и мастерская.
Каждому роботу вы задаёте направление — влево или вправо, — и он едет в эту сторону, не останавливаясь. Когда робот оказывается в мастерской, у которой ещё есть свободные места, его чинят, и он останавливается. Заполненные мастерские роботы проезжают насквозь, а друг другу они не мешают.
Верните наименьший суммарный путь, который проедут все роботы. Гарантируется, что починить можно всех.robots=[1, 8], shops=[[3, 1], [7, 2]] → 3
Робот из точки 1 едет вправо до мастерской в 3 (путь 2), робот из 8 — влево до мастерской в 7 (путь 1). Всего 3.
robots=[0, 1, 2], shops=[[1, 2], [10, 3]] → 9
Мастерская в точке 1 примет только двоих: роботов из 0 и 1 (путь 1 + 0). Роботу из 2 придётся ехать до 10 — ещё 8. Итого 9.
robots.length, shops.length ≤ 100shops[j].length = 2robots[i], position ≤ 10⁹capacity ≤ robots.lengthrobots=[1, 8], shops=[[3, 1], [7, 2]]
3
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 87 тестов на сервере, включая скрытые.