cezar

Time limit: 0.03s Memory limit: 16MB Input: cezar.in Output: cezar.out

În Roma antică există nn aşezări senatoriale distincte, câte una pentru fiecare dintre cei nn senatori ai Republicii. Aşezările senatoriale sunt numerotate de la 11 la nn, între oricare două aşezări existând legături directe sau indirecte. O legătură este directă dacă ea nu mai trece prin alte aşezări senatoriale intermediare. Edilii au pavat unele dintre legăturile directe dintre două aşezări (numind o astfel de legătură pavată ”stradă“), astfel încât între oricare două aşezări senatoriale să existe o singură succesiune de străzi prin care se poate ajunge de la o aşezare senatorială la cealaltă.

Toţi senatorii trebuie să participe la şedinţele Senatului. In acest scop, ei se deplasează cu lectica. Orice senator care se deplasează pe o stradă plăteşte 11 ban pentru că a fost transportat cu lectica pe acea stradă.

La alegerea sa ca prim consul, Cezar a promis că va dota Roma cu o lectică gratuită care să circule pe un număr de kk străzi ale Romei astfel încât orice senator care va circula pe străzile respective, să poată folosi lectica gratuită fără a plăti. Străzile pe care se deplasează lectica gratuită trebuie să fie legate între ele (zborul, metroul sau teleportarea nefiind posibile la acea vreme).

În plus, Cezar a promis să stabilească sediul sălii de şedinţe a Senatului într-una dintre aşezările senatoriale aflate pe traseul lecticii gratuite. Problema este de a alege cele kk străzi şi amplasarea sediului sălii de şedinţe a Senatului astfel încât, prin folosirea transportului gratuit, senatorii, în drumul lor spre sala de şedinţe, să facă economii cât mai însemnate. În calculul costului total de transport, pentru toţi senatorii, Cezar a considerat că fiecare senator va călători exact o dată de la aşezarea sa până la sala de şedinţe a Senatului.

Cerinţă

Scrieţi un program care determină costul minim care se poate obţine prin alegerea adecvată a celor kk străzi pe care va circula lectica gratuită şi a locului de amplasare a sălii de şedinţă a Senatului.

Date de intrare

Fişierul cezar.in conţine

  • pe prima linie două valori n kn\ k separate printr-un saţiu reprezentând numărul total de senatori şi numărul de strazi pe care circulă lectica gratuită
  • pe următorele n1n-1 linii se află câte două valori i ji\ j separate printr-un spaţiu, reprezentând numerele de ordine a două aşezări senatoriale între care există stradă.

Date de ieşire

Pe prima linie a fişierului cezar.out se va scrie costul total minim al transportării tuturor senatorilor pentru o alegere optimă a celor kk străzi pe care va circula lectica gratuită şi a locului unde va fi amplasată sala de şedinţe a Senatului.

Restricţii

  • 1<n10 000,0<k<n1 < n ≤ 10\ 000, 0 < k < n
  • 1i,jn,ij1 ≤ i, j ≤ n , i ≠ j
  • Oricare două perechi de valori de pe liniile 2,3,...,n2, 3, ..., n din fişierul de intrare reprezintă două străzi distincte.
  • Perechile din fişierul de intrare sunt date astfel încât respectă condiţiile din problemă.
  • Pentru 25%25\% din teste n30n ≤ 30
  • Pentru 25%25\% din teste 30<n1 00030 < n ≤ 1\ 000
  • Pentru 25%25\% din teste 1 000<n3 0001\ 000 < n ≤ 3\ 000
  • Pentru 10%10\% din teste 3 000<n5 0003\ 000 < n ≤ 5\ 000
  • Pentru 10%10\% din teste 5 000<n10 0005\ 000 < n ≤ 10\ 000.

Exemplu

cezar.in

13 3
1 2
2 3
2 8
7 8
7 5
5 4
5 6
8 9
8 10
10 11
10 12
10 13

cezar.out

11

Expicații

Costul minim se obţine, de exemplu, pentru alegerea celor 33 străzi între aşezările 57,78,8105-7, 7-8, 8-10 şi a sălii de şedinţe a Senatului în aşezarea 88 (după cum este evidenţiat în desen).
Există şi alte alegeri pentru care se obţine soluţia 1111.

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