Se dă un arbore cu noduri numerotate de la la , rădăcina fiind nodul cu numărul .
Fiecare nod are asociată o valoare .
Trebuie să răspundem la întrebări de tipul: „Care este suma valorilor asociate nodurilor din subarborele cu rădăcina în nodul aflate la distanţă cel mult egală cu faţă de nodul ?”.
Distanţa de la un nod la un nod este egală cu numărul de muchii de pe drumul de la la .
Cerinţă
Să se scrie un program care să răspundă la întrebări de tipul specificat.
Date de intrare
Fişierul de intrare arb.in
conţine pe prima linie numărul natural . Pe a doua linie se află numere reprezentând costurile asociate celor noduri. Pe cea de a treia linie se află numere, cel de-al -lea număr reprezentând părintele nodului cu numărul . Pe a patra linie se află numărul natural . Pe următoarele linii se află câte două numere naturale reprezentând o întrebare de tipul specificat în enunţ ( este rădăcina subarborelui, iar este distanţa maximă). Valorile aflate pe aceeaşi linie sunt separate prin câte un spaţiu.
Date de ieșire
Fişierul de ieşire arb.out
va conţine linii. Linia conţine un singur număr natural reprezentând răspunsul la cea de a -a întrebare din fişierul de intrare.
Restricții și precizări
- ,
Exemplu
arb.in
7
1 2 2 1 3 4 5
1 1 1 3 3 6
3
3 1
3 2
1 0
arb.out
9
14
1