#18289. 买宝石

买宝石

题目描述 10s 1024MB

小明有一天做梦,梦见自己来到了松鼠的王国。

松鼠的王国可以看成是一棵nn个节点的树,根节点是11号。

每个节点ii都有一家卖宝石的商店,会出售一种宝石,一共有kik_i颗,每颗价格wiw_i

小明从时间TT从根节点出发,带着CC的钱一路向下,走到出口节点XX就会回到现实世界。

这个过程中,小明可以花钱买宝石,直到花光钱为止。为了带更多的宝石回到现实世界,小明希望自己买的宝石尽量便宜。但是,松鼠们有点懒散,每家宝石的开门时间是不一样的,第ii个节点的宝石商店,开门时间是tit_i,也就是,从tit_i以后,才能在这个商店买宝石。

但是小明没有更多的时间,他必须在时间TT快速的沿着最近的路径走到XX,以及在路上购买宝石。

他一共有QQ次计划,第ii次计划,是TiT_i时间从根节点出发,带着CiC_i的钱,走到XiX_i以后回到现实世界(这期间时间都停留在TiT_i)。

请帮小明算一下,他每次计划里,买到的最贵的宝石的价格是多少,如果一颗宝石都没有买到,则认为是00

输入格式

第一行输入nn

接下来nn行,每行三个数字ki,wi,tik_i,w_i,t_i

接下来n1n-1行,每行输入u,vu,v,表示一条树边。

接下来一个数字QQ

接下来QQ行,每行三个数字Ti,Ci,XiT_i,C_i,X_i

输出格式

输出QQ行,表示每一次询问的答案。

5
2 2 2
2 3 1
2 4 3
2 1 4
2 1 2
1 2
2 3
3 4
3 5
7
1 12 4
1 5 4
1 2 4
4 7 4
4 9 4
3 13 4
3 14 4
3 3 0 2 3 3 4

数据范围

对于20%的数据:n,Q1000n,Q\leq 1000

对于另15%的数据:保证ti=1t_i=1

对于另10%的数据:保证v=2uv=2u或者v=2u+1v=2u+1

对于另20%的数据:保证v=u+1v=u+1

对于100%的数据:$n,Q\leq 10^5,1\leq k_i\leq 10^5,1\leq t_i,w_i,T_i,X_i\leq n,1\leq C_i\leq 10^{15}$。