#AT1569. E - Two Currencies
E - Two Currencies
E - 两种货币
现在有 个编号从 到 的城市,由 条铁路连接。
你现在在城市 ,口袋里有 个金币和 个银币。
第 条铁路双向连接城市 和城市 ,一次旅行需要消耗 个银币并花费 分钟。你不能用金币支付车费。
每个城市都有一个兑换柜台。在城市 的兑换柜台,你可以用 个金币兑换得到 个银币。兑换每个金币需要花费 分钟。你可以在每个兑换柜台兑换任意数量的金币。
对于每个 ,找出从城市 到城市 的最少时间。可以忽略等待车的时间。
限制:
- 没有一对 满足 。
- 每个城市 可以由城市 通过一些铁路到达。
- 输入中的所有值都为整数。
输入:
输入从标准输入中给出,格式如下:
...
...
输出:
按照这个顺序,对每个 ,打印一个包含从城市 到城市 所需最少时间的行。
样例1:
输入:
3 2 1
1 2 1 2
1 3 2 4
1 11
1 2
2 5
输出:
2
14
样例2:
输入:
4 4 1
1 2 1 5
1 3 4 4
2 4 2 2
3 4 1 1
3 1
3 1
5 2
6 4
输出:
5
5
7
样例3:
输入:
6 5 1
1 2 1 1
1 3 2 1
2 4 5 1
3 5 11 1
1 6 50 1
1 10000
1 3000
1 700
1 100
1 1
100 1
输出:
1
9003
14606
16510
16576
样例4:
输入:
4 6 1000000000
1 2 50 1
1 3 50 5
1 4 50 7
2 3 50 2
2 4 50 4
3 4 50 3
10 2
4 4
5 5
7 7
输出:
1
3
5
样例5:
输入:
2 1 0
1 2 1 1
1 1000000000
1 1
输出:
1000000001