Zoznam úloh

5. Armáda mravcov

Ukazuje sa, že ľudia nie sú jediný druh, ktorý trpí fenoménom známym ako meškanie. V mravčej kolónii sa už niekoľko mesiacov vie o jednom ovocnom strome, ktorý by sa dal využiť ako perfektný zdroj potravy. Zatiaľ k tomu ale nedošlo, pretože plány na logistické zvládnutie tejto operácie, ako inak, meškajú. Problém ale je, že schopnosti mravcov nie sú úplne dostačujúce na zvládnutie tejto úlohy, preto to nechali na vás.1

Úloha

Ovocný strom má $n$ vrcholov, ktoré sú spojené $n-1$ hranami, po ktorých dokážu chodiť mravce. Zároveň platí, že z ľubovoľného vrcholu sa dá dostať do ľubovoľného iného práve jedným spôsobom.

Na strome existuje $2k$ vrcholov v ktorých majú začínať a končiť zásobovacie trasy. Tieto vrcholy voláme špeciálne. Konkrétne, mravce by medzi nimi chceli vytvoriť $k$ zásobovacích trás, pričom konce každej zásobovacej trasy sú špeciálne vrcholy. Každý špeciálny vrchol by mal patriť do presne jeden zásobovacej trasy. Lenže, ako možno viete, mravce sa orientujú pomocou chemických značiek. Preto sa cesty nesmú pretínať a to ani vrcholmi ani hranami, inak by sa mravce poplietli a meškali by ešte viac.

Na to, aby mohli začať značkovanie chodníkov, mravce potrebujú vlastne vedieť, akú najmenšiu celkovú dĺžku všetkých $k$ ciest vedia docieliť.

Zistite to, inak je útok na špajzu zaručený!

Formát vstupu

V prvom riadku vstupu je číslo $n$ ($2 \leq n \leq 10^5$) udávajúce celkový počet vrcholov a číslo $k$ ($2 \leq 2k \leq n$) udávajúce počet mravčích ciest.

V druhom riadku vstupu je $2k$ čísel $s_i$ ($0 \leq s_i \leq n-1$), špeciálne vrcholy.

Nasleduje $n-1$ riadkov. Na každom sú 2 čísla $a,b$ ($0 \leq a,b \leq n-1$), vrcholy spojené hranou.

Sada Obmedzenia
1 Všetky vrcholy ležia na jednej ceste
2 $n=2k$
3 $n \leq 10$
4 Bez žiadnych ďalších obmedzení

Formát výstupu

Pokiaľ sa dá na strome postaviť $k$ ciest, tak, aby každá cesta začína a končí špeciálnom vrchole, pričom žiadne dve cesty nezdieľajú hranu ani vrchol (vrátane koncov), vypíšte jedno číslo: najmenšiu celkovú dĺžku takýchto ciest. Dĺžka cesty je počet hrán.

Pokiaľ sa takéto cesty nedajú postaviť, vypíšte $-1$.

Príklad

Vstup

3 1
1 2
0 1
2 0

Výstup

2

Tento vstup sa môže nachádzať v 1. sade. Jediná cesta je z 1 cez 0 do 2.

Vstup

4 2
0 1 2 3
1 0
2 0
3 0

Výstup

-1

Aspoň dva z vrcholov $1,2,3$ musia byť konce jednej cesty. Na tejto ceste ale musí ležať vrchol $0$. Lenže ten musí byť súčasťou inej cesty. Z toho vyplýva, že riešenie neexistuje. Tento vstup sa môže nachádzať v 2. sade.

Vstup

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

Výstup

3

Cesty budú medzi vrcholmi $2$ a $0$, a $3$ a $5$. Všimnite si, že nemusia byť popárované v poradí, v akom prišli na vstup.


  1. Musíte to urobiť, inak zaútočia na vašu špajzu a odnesú z nej všetko, čo má nenulový obsah cukru. 

Pre odovzdávanie sa musíš prihlásiť.
Trojsten

Korešpondenčný seminár z programovania zastrešuje občianske združenie Trojsten.

Kontakt
Ďalšie projekty