Додай ребра
Використовуйте мову Plain text
для цієї задачі. Ця задача — Output only
.
Дано дерево з вершин та ребер. Потрібно додати рівно нових ребер до цього дерева. Додавати кратні ребра або петлі заборонено. Якщо перед додаванням ребер у певної вершини була степінь , то після додавання ребер її степінь не має перевищувати . Нагадаємо, що степінь вершини — це кількість ребер, які її з'єднують з іншими вершинами.
Крім цього, також дано цілих чисел . Після додавання ребер потрібно зіставити кожному ребру один з елементів масиву так, щоб кожен елемент масиву відповідав рівно одному ребру. Значення зіставленому ребру позначатиме його вагу.
Потрібно додати нові ребра та зіставити числа до ребер так, щоб сума найкоротших відстаней між кожною парою вершин була максимальною. Тобто потрібно максимізувати функцію , де — мінімальна відстань між вершинами, для всіх та (). Мінімальною відстанню між вершинами вважається сумарна вага усіх ребер на простому шляху між ними.
Зверніть увагу, що у цій задачі потрібно відправляти не код, а самі відповіді. Вам також доступні усі тести, які можна завантажити з Еолімпа.
Вхідні дані
Дано тестів.
Перший рядок кожного тесту містить три цілі числа , та (, , ) — кількість вершин у дереві, кількість ребер, які потрібно додати, та максимальна кількість ребер, які можна додати до однієї вершини.
Другий рядок містить цілих чисел ().
Наступні рядків містять по два цілі числа та () — номери вершин, між якими є ребро. Гарантується, що початково заданий граф — дерево.
Гарантується, що завжди можна додати ребра так, щоб всі описані в умові вимоги виконувались.
Вихідні дані
Для кожного тесту виведіть наступне:
Якщо у вас є відповідь на цей тест, виведіть , інакше .
Якщо у вас є відповідь, то у кожному з наступних рядків виведіть по три цілі числа — номери вершин, між якими є ребро у кінцевому графі, та його вага.
Приклади
Оцінювання
Нехай певна змінна у тесті, а — сума відстаней у вашому графі. Якщо , то ви отримаєте балів за тест. Інакше ви отримаєте стільки балів за тест:
Якщо — сума балів за всі тести, то за спробу ви отримаєте , заокруглене до найближчого цілого числа.