问题 5045 --高效生产

5045: 高效生产

题目描述

  工厂为了生产一种复杂的产品,给各个生产部门制定了详细的生产计划。那么,就经常会有生产部门要把产品送到另一个生产部门作为原料。这是一个注重产品质量的工厂,所以每当有产品要从 A 部门运到 B 部门时,都要先从 A 部门送到质量检验处,检验合格后再从质量检验处运到 B 部门。
有些部门之间有传送带连接,厂长想知道每次将产品从一个部门运送到另一个部门最少需要多长时间。

输入

第一行两个整数 $n,m$,$n$ 表示部门数量,$m$ 表示传送带数量。出于方便,$1$ 号部门是质量检验处。
接下来 $m$ 行,每行三个整数 $u,v,w$,表示有一条从 $u$ 部门到 $v$ 部门的传送带,传送过去需要 $w$ 个单位时间。注意传送带是单向的。
接下来一个整数 $q$,表示有 $q$ 次运送。
接下来 $q$ 行,每行两个数 $a,b$,表示这一次要将产品从 $a$ 部门运送到 $b$ 部门。

输出

输出 $q$ 行,每行一个整数,表示这次运送最少需要的时间。若没有传送方案,输出 $-1$。

样例输入输出

输入#1 复制
5 5
1 2 3
1 3 5
4 1 7
5 4 1
5 3 1
3
4 2
5 3
2 3
输出#1 复制
10
13
-1

提示

对于 $10\%$ 的数据,$n \leq 100$,$m \leq 500, w=1$。
对于 $30\%$ 的数据,$n \leq 200$,$m \leq 5000$。
对于另外 $20\%$ 的数据,$q=1$。
对于 $100\%$ 的数据,$2 \leq n \leq 3 \times 10^3$,$1 \leq m \leq 10^5$,$1 \leq q \leq 10^5$,$1 \leq w \leq 10^4$。

序号 标题 作者 发表时间 费用 订购数 操作