Codeforces Beta Round 73 (Div. 1 Only) |
---|
Закончено |
Давным давно где-то в Азии в одной стране шли междоусобные войны.
Каждый из n городов хотел захватить власть, поэтому иногда один город собирал армию и отправлял ее в поход против другого города.
Прокладывание дорог было делом трудным, поэтому их в стране было мало, а именно n - 1. Также из любого города до любого другого можно было добраться по этим дорогам.
Даже во время войны жители Востока остаются людьми духовно богатыми и ценящими красоту природы. И, дабы оставить на века память о своем великом походе, на дороге, на которой в пути армия провела больше всего времени, сажали одно красивое дерево. Жители Востока любят природу, поэтому если таких дорог было несколько, то по одному дереву сажалось на каждой.
Недавно, когда были обнаружены летописи той войны, выяснилось, что каждый город напал на каждый ровно по одному разу. Всего было ровно n(n - 1) походов. Всем стало интересно, какая дорога после тех войн стала самой красивой, то есть на какой дороге посадили больше всего красивых деревьев.
В первой строке записано целое число n (2 ≤ n ≤ 105) — количество городов. Следующие n - 1 строк содержат по три целых числа: номера городов ai, bi (1 ≤ ai, bi ≤ n), соединяемых i-ой дорогой и количество дней di, затрачиваемое армией на переход по ней (1 ≤ di ≤ 109). Длины некоторых дорог могут совпадать.
В первой строке выведите два числа — количество красивых деревьев на самой красивой дороге и количество самых красивых дорог. Во второй строке выведите список самых красивых дорог, в порядке возрастания номеров. Дороги пронумерованы от 1 до n - 1 в том порядке, в котором они даны во входных данных.
Пожалуйста, не используйте спецификатор %lld для записи 64-х битовых чисел на С++. Рекомендуется использовать поток cout (также вы можете использовать спецификатор %I64d).
2
2 1 5
2 1
1
6
1 2 1
1 3 5
3 4 2
3 5 3
3 6 4
16 1
2
Название |
---|