Cerință
Se dă un arbore (graf conex cu noduri și muchii) cu noduri cu costuri pe muchii. Se mai dau 2 siruri de lungime , si .
Se cere sa alegeti niște muchii din cele , astfel încât fiecare nod să aibă între si muchii adiacente cu el și suma costurilor muchiilor alese să fie minimă.
În cazul în care nu se pot alege niște muchii astfel încât să respecte condițiile pentru fiecare nod, se va afișa .
Date de intrare
Pe prima linie a fișierului de intrare arbore.in
se găsește un număr .
Pe a doua linie se găsesc numere, al -lea dintre ele fiind .
Pe a treia linie se găsesc numere, al -lea dintre ele fiind .
Pe următoarele linii se găsesc trei numere , , , reprezentând o muchie de costul între nodurile si .
Date de ieșire
Pe prima linie a fișierului de ieșire arbore.out
se va găsi un singur număr întreg, costul minim de a alege niște muchii sau -1 daca nu se pot alege.
Restricții și precizări
- este numărul de muchii legate cu nodul
# | Punctaj | Restricții |
---|---|---|
0 | 0 | Exemplu. |
1 | 10 | |
2 | 20 | |
3 | 70 | Fără restricții suplimentare. |
Exemplu
arbore.in
5
1 1 1 1 0
1 2 5 1 4
1 2 1
1 3 1
2 4 2
2 5 3
arbore.out
3
Explicație
O soluție corectă este de a alege prima și a treia muchie, care au costurile 1 respectiv 2, .