HalfTree

Time limit: 0.1s Memory limit: 256MB Input: Output:

Pasionat de problemele cu arbori, Petrică a găsit următoarea problemă: Se dă un arbore cu NN noduri și costuri pare pe muchii.

Distanța dintre două noduri ale arborelui este egală cu suma costurilor muchiilor de pe cel mai scurt drum dintre cele două noduri.

Se definește valoarea unui arbore ca fiind suma distanțelor dintre oricare 22 noduri ale acestuia.

Petrică are la dispoziție următoarea operație, pe care o poate face o singură dată: alege un lanț al arborelui și înjumătățește costul tuturor muchiilor de pe acel lanț. Ajutați-l să găsească cea mai mică valoare a unui arbore obținut după aplicarea operației.

Un lanț se definește ca fiind o înșiruire de noduri distincte a1,a2,...,aKa_1, a_2, ..., a_K (pentru K1K ≥ 1), unde există o muchie între aia_i și ai+1a_{i+1} pentru orice 1i<K1 ≤ i < K.

Date de intrare

Pe primul rând se gasește un număr întreg pozitiv NN reprezentând numărul de noduri ale arborelui.

A doua linie conține N1N - 1 numere întregi p2,p3,...,pNp_2, p_3, ..., p_N, reprezentând că există o muchie între nodul ii și nodul pip_i.

A treia linie conține N1N - 1 numere întregi c2,c3,...,cNc_2, c_3, ..., c_N, unde cic_i reprezintă costul muchiei dintre ii și pip_i.

Date de ieșire

Se va afișa pe primul rând un număr întreg reprezentând valoarea minimă a unui arbore obținută după aplicarea operației asupra arborelui inițial.

Restricții

  • 1N1051 ≤ N ≤ 10^5
  • 1pi<i1 ≤ p_i < i pentru orice ii de la 22 la NN
  • 103ci103−10^3 ≤ c_i ≤ 10^3 pentru orice ii de la 22 la NN
  • cic_i este par pentru orice ii de la 22 la NN

Subtask 1 (10 puncte)

  • Arborele nu conține niciun nod cu grad mai mare de 22 (arborele este un lanț).

Subtask 2 (25 de puncte)

  • 1N1021 ≤ N ≤ 10^2
  • 0ci1030 ≤ c_i ≤ 10^3 pentru orice ii de la 22 la NN

Subtask 3 (15 puncte)

  • 1N1031 ≤ N ≤ 10^3
  • 0ci1030 ≤ c_i ≤ 10^3 pentru orice ii de la 22 la NN

Subtask 4 (20 de puncte)

  • 0ci1030 ≤ c_i ≤ 10^3 pentru orice ii de la 22 la NN

Subtask 5 (5 puncte)

  • Toate valorile muchiilor sunt egale (ci=cjc_i = c_j pentru orice 2i,jN2 ≤ i, j ≤ N).

Subtask 6 (10 puncte)

  • 1N1031 ≤ N ≤ 10^3

Subtask 7 (15 puncte)

  • Fără restricții suplimentare

Exemple

stdin

5	
1 1 2 1	
30 16 38 14

stdout

254

stdin

10					
1 1 2 2	3 3 7 7 9			
-2 2 -4	4 -6 6 10 2 0	

stdout

77

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