Apa

Time limit: 1s Memory limit: 512MB Input: Output:

Se dă un arbore cu NN noduri, fiecare nod având un vas comunicant cu capacitate infinită.
Să se răspundă la QQ întrebări de forma (u,v,h)(u, v, h), cu următoarea semnificație: vom considera lanțul de la uu la vv și vom turna hh litri de apă în nodul uu. Prin acest proces valorile de pe lanțul de la uu la vv vor fi (începând cu uu) h,h1,,1,0,0,,0h, h-1, \ldots, 1, 0, 0, \ldots, 0. Valoarea dintr-un nod care nu se află pe lanțul de la uu la vv este valoarea care se află în cel mai apropiat nod care se află pe lanțul de la uu la vv. Pentru fiecare query, se cere suma valorilor din arbore.

Cerință

Să se răspundă la cele QQ întrebări.

Date de intrare

Pe prima linie se află numerele NN și QQ. Următoarele N1N-1 conțin fiecare câte o pereche de numere (u,v)(u, v) cu semnificația că există o muchie între nodurile uu și vv. Următoarele QQ linii conțin fiecare câte trei numere, (u,v,h)(u, v, h), reprezentând elementele unui query.

Date de ieșire

Fișierul de ieșire va conține QQ linii, a ii-a linie reprezentând răspunsul pentru al ii-lea query.

Restricții și precizări

  • 1N,Q200 0001 \leq N, Q \leq 200 \ 000
  • 1u,vN1 \leq u, v \leq N
  • 1h1091 \leq h \leq 10^9

Subtask 1 (8 puncte)

  • 1N,Q1 0001 \leq N, Q \leq 1 \ 000

Subtask 2 (6 puncte)

  • Toate query-urile au același uu

Subtask 3 (12 puncte)

  • Toate query-urile au același vv

Subtask 4 (53 puncte)

  • 1N50 0001 \leq N \leq 50 \ 000

Subtask 5 (21 puncte)

  • Fără alte restricții

Exemplu

stdin

10 3
1 2
2 3
3 4
3 5
3 6
4 7
4 8
6 9
6 10
7 10 5
7 10 3
1 10 8

stdout

30
11
59

Explicație

Pentru primul query, nodul 77 este singurul cu 55 litri de apă, nodurile 44 și 88 conțin 44 litri de apă, nodurile 5,3,25, 3, 2 și 11 conțin 33 litri de apă, nodurile 66 și 99 conțin 22 litri de apă, iar nodul 1010 conține un litru de apă.

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