arbore

Time limit: 1s Memory limit: 64MB Input: arbore.in Output: arbore.out

Cerință

Se dă un arbore (graf conex cu NN noduri și N1N-1 muchii) cu NN noduri cu costuri pe muchii. Se mai dau 2 siruri de lungime NN, stst si drdr.
Se cere sa alegeti niște muchii din cele N1N-1, astfel încât fiecare nod ii să aibă între leile_i si riiri_i muchii alese\textbf{alese} 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 1-1.

Date de intrare

Pe prima linie a fișierului de intrare arbore.in se găsește un număr NN.
Pe a doua linie se găsesc NN numere, al ii-lea dintre ele fiind leile_i.
Pe a treia linie se găsesc NN numere, al ii-lea dintre ele fiind riiri_i.
Pe următoarele N1N-1 linii se găsesc trei numere aia_i, bib_i, cic_i, reprezentând o muchie de costul cic_i între nodurile aia_i si bib_i.

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

  • 1N100 0001 \leq N \leq 100 \ 000
  • 0leiriiN0 \leq le_i \leq ri_i \leq N
  • 0ci1090 \leq c_i \leq 10^9
  • cnticnt_i este numărul de muchii legate cu nodul ii
# Punctaj Restricții
0 0 Exemplu.
1 10 1N171 \leq N \leq 17
2 20 cnti10cnt_i \leq 10
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, 1+2=31 + 2 = 3.

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