kdtree

Time limit: 0.2s Memory limit: 128MB Input: kdtree.in Output: kdtree.out

Kilikinei îi plac mult arborii. De data aceasta ea a definit un KDtree ca fiind un arbore pentru care distanţa între oricare două noduri este mai mică sau egală cu KK. Acum, Kilikina are un arbore cu NN noduri şi se întreabă care este numărul minim de muchii pe care trebuie să le taie din arbore, astfel încât toţi arborii rămaşi să fie KDtrees.

Cerinţă

Scrieţi un program care poate răspunde la întrebarea Kilikinei.

Date de intrare

Pe prima linie a fişierului de intrare kdtree.in se vor afla două numere naturale NN şi KK având semnificaţiile din enunţ. Următoarele N1N-1 linii vor conţine câte două numere xx şi yy, reprezentând faptul că există o muchie între nodurile xx şi yy din arbore.

Date de ieșire

În fişierul de ieşire kdtree.out veţi afişa un singur număr reprezentând numărul minim de muchii ce trebuiesc tăiate din arbore astfel încât toţi arborii rămaşi să fie KDtrees.

Restricții și precizări

  • 1N200 0001 \leq N \leq 200 \ 000
  • 1K200 0001 \leq K \leq 200 \ 000
  • Pentru 40%40\% din teste N1 000N \leq 1 \ 000 şi K50K \leq 50
  • Pentru 70%70\% din teste N100 000N \leq 100 \ 000 şi K100K \leq 100
  • Distanţa între două noduri xx şi yy din arbore este egală cu numărul de muchii aflate pe drumul dintre xx şi yy

Exemplu

kdtree.in

6 2
1 2
1 3
1 4
2 5
2 6

kdtree.out

1

Explicație

Se va tăia o singură muchie, muchia 121-2, astfel încât cei doi arbori rămaşi formaţi din nodurile (1,3,4)(1, 3, 4) şi (2,5,6)(2, 5, 6) au distanţa între oricare două noduri mai mică sau egală cu K=2K=2.

Log in or sign up to be able to send submissions!