#P9175. [COCI2022-2023#4] Mreža

[COCI2022-2023#4] Mreža

题目背景

卡评测封号。

题目描述

市长 Mirko 住在一个有 nn 个社区的城市里,这 nn 个社区用 n1n-1 条双向道路连接,满足从任何社区出发都可以到达任意其他社区。

Mirko 想升级一些道路以疏导交通。对于每条路,我们知道目前在这条路上汽车的行驶速度 viv_i,升级所需花费 cic_i 和升级后在这条路上汽车的行驶速度 sis_i

qq 个不满意的市民来见 Mirko。每个人都有他们自己的升级建议。第 ii 个市民的建议是:「我们应该在升级社区 aia_ibib_i 之间的道路上投资 eie_i 欧元。」

对于每个建议,Mirko 感兴趣的是,如果他的目标是使社区 aia_ibib_i 之间的最低驾驶速度最大化,那么他在升级道路上最多花费 eie_i 欧元的话这个最低驾驶速度是多少。

Mirko 瞬间意识到这个问题不简单,并且他雇佣你来帮助他!

输入格式

第一行包含一个整数 n (2n105)n\ (2\le n\le 10^5),表示社区总数。

接下来 n1n-1 行,每行五个整数 $x_i,y_i,v_i,c_i,s_i\ (1\le x_i,y_i\le n,1\le v_i<s_i\le 10^9,1\le c_i\le 10^9)$,表示社区 xix_iyiy_i 之间有一条路相连,目前在这条路上汽车的行驶速度为 viv_i,升级所需花费为 cic_i,升级后在这条路上汽车的行驶速度为 sis_i

接下来一行一个整数 q (1q105)q\ (1\le q\le 10^5),表示不满意的市民总数。

接下来 qq 行,每行三个整数 $a_i,b_i,e_i\ (1\le a_i,b_i\le n,a_i\neq b_i,1\le e_i\le 10^{18})$,意义如题目描述。

输出格式

输出 qq 行,表示对每个市民建议的答案。

6
1 2 5 7 10
1 3 4 8 9
3 4 7 1 15
3 5 6 3 11
3 6 5 6 8
3
2 4 15
6 4 5
3 5 10
7
5
11
4
1 2 5 5 8
2 3 4 6 9
3 4 6 10 7
4
1 4 16
2 4 16
1 4 10
3 4 10
6
7
5
7

提示

样例解释 11:下图展示了这个城市和社区。边上写的分别是目前汽车的行驶速度,升级花费和升级后的汽车行驶速度。

如果我们升级 11221133 之间的道路,从 2244 的行驶速度将变成 10,9,710,9,7。最小为 77

如果我们升级 4433 之间的道路,从 6644 的行驶速度将变成 5,155,15。最小为 55

如果我们升级 3355 之间的道路,从 5533 的行驶速度将变成 1111

子任务编号 附加限制 分值
00 是样例 00
11 n,q1000n,q\le 1000 1919
22 每个社区最多与两个其他社区相连 2626
33 无附加限制 5555