n вершин с номерами от 0 до n - 1. Каждое ребро edges[i] = [u, v, w] ведёт из u в v и имеет вес w; между одной и той же парой вершин может быть несколько рёбер.
Некоторые вершины отмечены флажком — их номера перечислены в flagged. Найдите длину кратчайшего пути из вершины start до любой отмеченной вершины. Если ни одна отмеченная вершина из start недостижима, верните -1.n=4, edges=[[0, 1, 2], [1, 2, 2], [0, 3, 7], [2, 3, 1]], start=0, flagged=[3] → 5
Прямое ребро 0 → 3 весит 7, а путь 0 → 1 → 2 → 3 — всего 2 + 2 + 1 = 5.
n=3, edges=[[1, 0, 4]], start=0, flagged=[1, 2] → -1
Ребро ведёт из 1 в 0, а не обратно, так что из вершины 0 никуда не попасть.
flagged[i] различны и не равны startn=4, edges=[[0, 1, 2], [1, 2, 2], [0, 3, 7], [2, 3, 1]], start=0, flagged=[3]
5
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 74 теста на сервере, включая скрытые.