#P11732. 旅行
旅行
你在一颗树上旅行。
树由N个点,N-1条边组成,每条边的长度是1或2。你想要从点u沿着唯一的简单路径走到点v。但是,你的体力有限,所以一天之内最多只能走p的距离。一天结束时待在树的节点外是很危险的,所以你必须在一天结束前到达某个节点并停下(可以刚好到达),即使你没有走到p的距离。
给定这棵树和Q个询问,每个询问给出u,v,p,请求出至少需要多少天。
Input
第一行两个整数N,Q。
接下来N行每行三个整数x,y,c表示树上有一条x到y的边,长度是c。
接下来Q行每行三个整数u,v,p表示一个询问。
Output
Q行每一行一个整数表示答案。
Examples
travel.in | travel.out |
---|---|
5 5 | 1 |
1 2 1 | 2 |
2 3 2 | 1 |
1 4 2 | |
4 5 1 | |
1 5 3 | |
1 3 2 | |
2 5 4 | |
1 2 10 | |
4 5 2 |
样例2 travel.in/out 见下发文件。
Notes
对于所有数据,1<=N,Q<=10^5 1<=x,y,u,v<=N c=1或2 2<=p<=2*N
Subtask 1(15pts): c=1
Subtask 2(15pts): 1<=N,Q<=5*10^3
Subtask 3(40pts): 1<=N,Q<=4*10^4
Subtask 4(30pts): 无特殊限制