Rim

시간 제한4초메모리 제한2048 MB

요약
가중치가 있는 트리에서 각 질의마다 예산 M을 사용해 C에서 D로 가는 경로의 간선 용량을 올린 뒤 보낼 수 있는 최대 화물 무게를 구한다.
난이도

어려움10점 중 8점

유형
그리디, 이분 탐색, 트리, 누적 합
정답자
아직 제출이 없습니다

문제

Jedna mala, ali predivna, otočna država sastoji se od NN otoka, označenih brojevima od 11 do NN. Otoci su povezani s N−1N-1 mostova tako da je moguće doći od bilo kojeg otoka do bilo kojeg drugog otoka koristeći mostove. Svaki most povezuje neka dva otoka i ima određenu nosivost. Nosivost definiramo kao najveći broj kilograma koji most može izdržati.

To znači da preko određenog mosta smijemo poslati pošiljke koje imaju najviše onoliko kilograma kolika je i nosivost tog mosta. Na primjer, ako je nosivost određenog mosta 10001000 kilograma, onda smijemo slati pošiljke težine 100100, 300300, 950950 i 10001000 kilograma, ali ne možemo slati pošiljke težine npr. 10011001 i 20002000 kilograma.

Vlada te države je počela planirati obnovu mostova. Za cijenu jednog eura, Vlada može povećati nosivost jednog mosta za jedan kilogram. Uočite da nije moguće povisiti nosivost za npr. 0.50.5 kilograma, samo za prirodan broj kilograma. Pozvali su tebe da pomogneš tj. da im odgovoriš na QQ pitanja oblika: “Koliko najviše kilograma može imati pošiljka koju šaljemo od otoka s oznakom CC do otoka s oznakom DD, ako za obnovu imamo proračun od MM eura?”. Možeš li im pomoći?

입력

U prvom retku su prirodni brojevi NN, QQ (2≤N≤100,0002 ≤ N ≤ 100\\, 000, 1≤Q≤100,0001 ≤ Q ≤ 100\\, 000).

U idućih N−1N-1 redova su prirodni brojevi A_iA\_i, B_iB\_i i T_iT\_i. (1≤A_i,B_i≤N1 ≤ A\_i, B\_i ≤ N, A_i≠B_iA\_i \ne B\_i, 1≤T_i≤1091 ≤ T\_i ≤ 10^9), oznake otoka koje povezuje ii-ti most i njegova nosivost.

U idućih QQ redova su prirodni brojevi C_iC\_i, D_iD\_i i M_iM\_i (1≤C_i,D_i≤N1 ≤ C\_i, D\_i ≤ N, 1≤M_i≤1091 ≤ M\_i ≤ 10^9), brojevi iz teksta zadatka.

출력

U QQ redova ispiši po jedan cijeli broj, odgovor na svako pitanje redom u kilogramima.

힌트

Opis prvog probnog primjera: U prvom upitu može se utrošiti 44 eura na prvi most, 33 eura na treći most i jedan euro na zadnji most. U drugom upitu možemo u drugi most utrošiti 33 eura, u četvrti 66 eura i 44 eura u zadnji most.

예제3

  1. 예제 1

    입력
    5 3
    1 2 2
    2 3 6
    3 4 3
    4 5 5
    1 5 10
    2 5 13
    1 3 3
    
    예상 출력
    6
    9
    5
    
  2. 예제 2

    입력
    4 3
    1 2 9
    1 3 18
    1 4 2
    2 4 121
    2 3 35
    2 3 65
    
    예상 출력
    66
    31
    46
    
  3. 예제 3

    입력
    6 2
    1 2 13
    2 3 7
    4 3 15
    4 5 15
    6 1 13
    3 6 1073
    1 3 1623
    
    예상 출력
    368
    821