#P6573. [BalticOI 2017] Toll
[BalticOI 2017] Toll
题目背景
作为一个合格的货运公司,在送达货物的同时也要让花的钱最少。
题目描述
这座城市有 个地点,这 个地点之间有 条边。
货运公司接到了 个订单,他们要想方设法的让路途中花的钱最少。
对于每条路,都有三个信息:
- 代表从 连到 ;
- 代表这条路需要多少钱。
并且对于每个订单,都给出 和 代表要把物品从 运到 ,求每个订单需要花的最少的钱;如果无法送达就输出 。
特别的,对于两个编号为 的路,一定满足:
( 是一个给定的常数)。
输入格式
第一行四个整数 代表一个常数,地点的个数,边的个数,订单的个数。
点的编号为从 到 。
接下来 行每行三个整数 代表从 连向 要花费 ,保证满足 $\left\lfloor\dfrac{b}{k}\right\rfloor=1+\left\lfloor\dfrac{a}{k}\right\rfloor$,并且两点之间连接的边数不超过 条边。
接下来 行每行两个整数 代表要从 运货到 。
输出格式
对于每个订单,输出一行一个整数表示答案。
5 14 5 5
0 5 9
5 12 10
0 7 7
7 12 8
4 7 10
0 12
0 5
0 7
7 12
0 13
15
9
7
8
-1
提示
数据规模与约定
本题采用捆绑测试。
- Subtask 1(7 pts):。
- Subtask 2(10 pts):每个订单中的 。
- Subtask 3(8 pts):。
- Subtask 4(31 pts):。
- Subtask 5(44 pts):无特殊限制。
对于 的数据,,,,,。
说明
翻译自 BOI 2017 D1 T3 Toll。
翻译者:@一只书虫仔。
本题强制 优化。