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

Задача . E. Народные игры


Государство Панел проводит ежегодное шоу «Народные игры», в котором каждый дистрикт будет представлять один участник. В государстве \(n\) дистриктов, пронумерованных от \(1\) до \(n\), причём от каждого дистрикта до любого другого есть ровно один путь. Число фанатов участника игр из дистрикта \(i\) равно \(2^i\).

В этом году президент решил снизить затраты на проведение Народных игр. По этой причине он хочет убрать \(k\) участников из соревнования, но есть проблема — дистрикты, участники из которых будут убраны из соревнования, будут в бешенстве и не дадут никому пересекать их границы.

Президент хочет, чтобы все оставшиеся в играх участники были из дистриктов, которые можно достичь друг из друга. Он также хочет, чтобы суммарное количество фанатов оставшихся участников было максимальным. Каких участников должен убрать президент?

Входные данные

Первая строка ввода содержит два целых числа \(n\) и \(k\) (\(1 \leq k < n \leq 10^6\)) — число дистриктов в Панеле и число участников, которое хочет убрать президент соответственное.

В каждой из следующих \(n-1\) строк содержится два целых числа \(a\) и \(b\) (\(1 \leq a, b \leq n\), \(a \ne b\)), описывающих дорогу, соединяющую два разных дистрикта \(a\) и \(b\). Гарантируется, что существует ровно один путь между любыми двумя дистриктами.

Выходные данные

Выведите \(k\) целых чисел, разделённых пробелами — номера дистриктов, участники из которых должны быть убраны, в порядке возрастания номера дистрикта.

Примечание

В первом примере максимально достижимое число фанатов равно \(2^2 + 2^5 + 2^6 = 100\). Этого можно достичь, убрав участников из кварталов 1, 3 и 4.


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

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

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