Олимпиадный тренинг

Задача . Bessla Motors


Задача

Темы:

**Замечание: время на тест в этой задаче 3 сек, в 1.5 раза больше чем по умолчанию. Память на тест 512 Мбт, что в два раза больше чем по умолчанию.

Фермер Джон хочет продвинуть свою линию электрических тракторов, создав рекламную сеть электрозарядных станций. Он подготовил \(N\) (\(2\le N\le 5\cdot 10^4\)) интересных точек, пронумеровав их \(1\dots N\), из которых первые \(C\) (\(1\le C < N\)) это зарядные станции, а оставшиеся - станции для посещения во время рекламного путешествия. Эти интересные точки соединены (\(1\le M\le 10^5\)) двунаправленными дорогами, \(i\)-ая из которых соединяет различные точки \(u_i\) и \(v_i\) (\(1\le u_i, v_i\le N\)) и имеет длину \(\ell_i\) миль (\(1\le\ell_i\le 10^9\)).

Электротрактор может путешествовать \(2R\) миль (\(1\le R\le 10^9\)) на одной зарядке, позволяя достичь любую точку в пределах \(R\) миль от зарядной станции. Точка назначения считается хорошо-связной, если она достижима не менее чем из \(K\) (\(1\le K\le 10\)) различных зарядных станций. Ваша задача - помочь ФД определить множество хорошо связных точек назначения.

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка содержит пять разделённых одиночными пробелами целых чисел \(N\), \(M\), \(C\), \(R\), \(K\). Каждая из последующих \(M\) строк содержит три разделённых одиночными пробелами целых чисел: \(u_i\), \(v_i\), \(\ell_i\) (\(u_i\neq v_i\)).

Зарядные станции помечены номерами \(1, 2, \ldots, C\). Оставшиеся точки это интересные места для посещения.

ФОРМАТ ВЫВОДА (на экран / stdout):

Сначала выведите количество хорошо связных точек назначения в одной строке. Затем выведите сами хорошо связные точки назначения в возрастающем порядке, каждую на отдельной строке.


Примеры
Входные данныеВыходные данные
1 3 3 1 4 1
1 2 3
1 3 5
2 3 2
1
2

time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя