Se dă un arbore cu noduri, și rădăcina în nodul . Fiecărui nod , îi este asociat un număr . Pentru un arbore și un nod fie , , drumul de la rădăcină, până la nodul în arborele . Pentru acest nod , definim, cel mai lung subșir strict crescător până în în arborele , ca fiind, oricare dintre cele mai lungi subșiruri strict crescătoare din șirul de numere: .
Se dau interogări. Pentru a -a intreogare, se dau de numere distincte, , care reprezintă noduri în arborele inițial . Fie arborele , componenta conexă care conține rădăcina, în urma eliminării nodurilor din arborele . Pentru a -a interogare, se cere să se afle: cea mai mare dintre lungimile celui mai lung subșir strict crescător până la oricare nod din .
Cerință
Să se determine, pentru fiecare interogare, cea mai mare dintre lungimile celui mai lung subșir strict crescător până la oricare nod , din arborele asociat interogării .
Date de intrare
Fișierul de intrare arbsub.in
conține pe prima linie numărul de noduri , și numărul de interogări, .
Pe următoarea linie, se află cele numere naturale, , fiind ascoiat nodului .
Pe următoarele linii, se află câte 2 numere, și , reprezentând muchiile arborelui.
Pe următoarele linii, se află informațiie aferente fiecărei interogări. Pe linia , se află numărul , urmat de numere: , având semnificația din enunț. Se garantează că nodurile sunt distincte, nu conțin rădăcina arborelui și sunt numere întregi în intervalul . De observat, că poate fi .
Date de ieșire
Fișierul de ieșire arbsub.out
va conține linii, linia conținând răspunsul pentru interogarea a -a.
Restricții și precizări
# | Punctaj | Restricții |
---|---|---|
1 | 13 | , |
2 | 18 | , |
3 | 31 | , , |
4 | 38 | Fără restricții suplimentare |
Exemplu
arbsub.in
12 4
2 3 3 4 6 3 5 3 5 7 7 8
6 4
7 4
4 8
1 2
2 4
5 2
10 12
5 10
11 9
9 5
3 1
3 5 6 8
4 9 11 12 10
4 2 4 10 12
0
arbsub.out
4
4
2
5