Mirko possède une grande maison composée de $N$ pièces reliées par $N - 1$ couloirs. Chaque couloir relie deux pièces différentes et toutes les pièces sont reliées entre elles. Chaque couloir mesure $1$ mètre. Mirko nettoie souvent les pièces de son logement, mais rarement les couloirs. La poussière s'y est accumulée et Mirko souhaite maintenant y passer l'aspirateur.
Malheureusement, chaque aspirateur possède un câble de longueur limitée. Chaque pièce dispose d'une prise, et l'aspirateur doit être branché à une prise dans une pièce pour fonctionner. Mirko part de la pièce $1$ et peut effectuer les actions suivantes :
Si l'aspirateur n'est pas branché, il peut :
- Le brancher dans la pièce où il se trouve.
- Prendre l'aspirateur et se rendre dans une pièce voisine. Traverser un couloir lui prend $1$ minute.
Si l'aspirateur est branché, il peut :
- Le débrancher s'il se trouve dans la pièce où il l'a branché.
- Emprunter un couloir adjacent en passant l'aspirateur dans ce couloir en chemin. Il ne peut le faire que si le câble est suffisamment long, c'est-à-dire si la distance entre la pièce où l'aspirateur est branché et la pièce de destination est inférieure ou égale à la longueur du câble. Nettoyer un couloir lui prend $1$ minute.
L'aspirateur de Mirko est tombé en panne ! Il se trouve maintenant dans un magasin proposant $Q$ aspirateurs ; le $i$-ème possède un câble de $r_i$ mètres. Pour chacun des aspirateurs, il souhaite connaître la durée minimale nécessaire pour passer l'aspirateur dans tous les couloirs s'il l'achète. Aidez-le à déterminer ces durées !
Entrée
La première ligne contient les entiers naturels $N$ et $Q$, le nombre de pièces et le nombre d'aspirateurs.
Les $N - 1$ lignes suivantes contiennent les entiers naturels $x_i$ et $y_i$ ($1 \le x_i, y_i \le N$, $x_i \ne y_i$), indiquant qu'un couloir relie les pièces $x_i$ et $y_i$.
La dernière ligne contient $Q$ nombres $r_i$ ($1 \le r_i \le N$), les longueurs des câbles des aspirateurs.
Sortie
Affichez sur une seule ligne $Q$ nombres, dont le $i$-ème représente la durée minimale du nettoyage avec le $i$-ème aspirateur.
Sous-tâches
Dans toutes les sous-tâches, $2 \le N \le 3 \cdot 10^5$ et $1 \le Q \le 3 \cdot 10^5$.
| Sous-tâche | Points | Contraintes |
|---|---|---|
| 1 | 16 | $N, Q \le 1000$ |
| 2 | 10 | Chaque pièce $x = 1, 2, \ldots, N - 1$ est reliée par un couloir à la pièce $x + 1$. |
| 3 | 22 | $Q = 1$ |
| 4 | 31 | $N, Q \le 10^5$ |
| 5 | 21 | Aucune contrainte supplémentaire. |
Exemples
Entrée 1
5 2 1 2 2 3 3 4 4 5 2 5
Sortie 1
8 4
Remarque
Voici une manière pour Mirko de passer l'aspirateur le plus rapidement possible dans tous les couloirs avec un câble de $2$ mètres :
- Il se rend de la pièce $1$ à la pièce $3$. ($2$ minutes)
- Il branche l'aspirateur dans la pièce $3$.
- Il passe l'aspirateur dans les couloirs entre les pièces $3$ et $4$, puis $4$ et $5$. ($2$ minutes)
- Il retourne à la pièce $3$. ($2$ minutes)
- Il passe l'aspirateur dans les couloirs entre les pièces $3$ et $2$, puis $2$ et $1$. ($2$ minutes) Tous les couloirs sont alors nettoyés.
Entrée 2
10 2 1 2 2 4 5 2 6 3 3 1 6 7 9 7 8 6 8 10 1 3
Sortie 2
24 16
Entrée 3
6 2 3 1 3 5 4 3 4 2 2 6 5 1
Sortie 3
6 12