Cerință
Se dă un cu , numerotate de la la . Nodul este .
Fiecare nod are asociată o valoare . Notăm cu părintele nodului . Vom defini . Pentru două noduri și , notăm cu cel mai apropiat strămoș comun al acestora.
Pentru orice două noduri și , fie valoarea maximă dintre toate nodurile ale de la la , inclusiv. Similar, fie valoarea minimă dintre toate nodurile ale drumului de la la .
Se dau interogări. Fiecare interogare este formată de două noduri și . Se garantează că nici nici nu este pentru celălalt.
Pentru fiecare interogare, considerăm toate perechile de noduri astfel încât:
- aparține drumului de la la , excluzând ;
- aparține drumului de la la , excluzând .
Pentru fiecare pereche, definim:
Pentru fiecare interogare, trebuie să determini valoarea maximală posibilă pentru .
Un între două noduri și este o secvența de noduri astfel încât și în care există câte o muchie între și pentru fiecare ().
Un este un graf conex fără cicluri. Altfel spus, este un graf cu noduri și muchii, astfel încât există exact un drum între oricare două noduri distincte.
Nodul este numit al nodului dacă și numai dacă drumul de la rădacină la trece prin .
a două noduri și este cel mai depărtat de rădăcină care este strămoș pentru ambele noduri și .
Date de intrare
Prima linie conține două numere întregi și .
A doua linie conține valorile .
A treia linie conține părinții .
Fiecare dintre următoarele linii conține câte două numere întregi și , reprezentând o interogare.
Date de ieșire
Afișați linii. Pe linia a -a se va afișa valoarea maximă posibilă a funcției pentru interogarea cu indicele .
Exemplul 1
Date de intrare
5 2
10 5 2 8 15
1 1 2 3
2 5
2 3
Date de ieșire
5
5
Explicație
Pentru prima interogare, , avem .
Alegând și , obținem:
Se poate demonstra că aceasta este valoarea maximă posibilă. Prin urmare, răspunsul este .
Pentru cea de-a doua interogare, , singura pereche validă este . Astfel, răspunsul este tot .
Exemplul 2
Date de intrare
8 4
20 10 5 15 12 25 8 30
1 2 1 4 5 6 7
3 8
8 3
3 6
3 4
Date de ieșire
17
17
8
5
Restricții și precizări
- , pentru fiecare
- , pentru fiecare .
- , pentru fiecare interogare.
- Niciunul dintre nodurile și nu este strămoș al celuilalt.
Subtask-uri
Pentru unele subtask-uri, arborele are următoarele proprietăți suplimentare:
- pentru fiecare
Ne vom referi la un asemenea arbore la un .
| Subtask | Scor | Restricții |
|---|---|---|
| 1 | 4 | ; arbore special |
| 2 | 4 | |
| 3 | 7 | pentru fiecare ; arbore special |
| 4 | 7 | pentru fiecare |
| 5 | 9 | pentru fiecare ; arbore special |
| 6 | 9 | pentru fiecare |
| 7 | 6 | pentru fiecare ; arbore special |
| 8 | 6 | pentru fiecare |
| 9 | 15 | ; arbore special |
| 10 | 15 | |
| 11 | 9 | arbore special |
| 12 | 9 | Fără restricții suplimentare. |