#ABC164E. Two Currencies

Two Currencies

题目描述

There are NN cities numbered 11 to NN, connected by MM railroads.

You are now at City 11, with 1010010^{100} gold coins and SS silver coins in your pocket.

The ii-th railroad connects City UiU_i and City ViV_i bidirectionally, and a one-way trip costs AiA_i silver coins and takes BiB_i minutes. You cannot use gold coins to pay the fare.

There is an exchange counter in each city. At the exchange counter in City ii, you can get CiC_i silver coins for 11 gold coin. The transaction takes DiD_i minutes for each gold coin you give. You can exchange any number of gold coins at each exchange counter.

For each t=2,...,Nt=2, ..., N, find the minimum time needed to travel from City 11 to City tt. You can ignore the time spent waiting for trains.

有 NN 个城市,编号为 11 至 NN ,由 MM 条铁路连接。

你现在在 11 城市,口袋里有 1010010^{100} 枚金币和 SS 枚银币。

ii 条铁路双向连接 UiU_i 城和 ViV_i 城,单程花费 AiA_i 个银币,耗时 BiB_i 分钟。不能使用金币支付车费。

每个城市都有一个兑换处。在城市 ii 的兑换处,您可以用 11 枚金币换取 CiC_i 枚银币。每枚金币的交易时间为 DiD_i 分钟。您可以在每个兑换柜台兑换任意数量的金币。

对于每个 t=2,...,Nt=2, ..., N ,求从城市 11 到城市 tt 所需的最短时间。你可以忽略等待火车的时间。

输入格式

输入内容按以下格式标准输入:

NN MM SS
U1U_1 V1V_1 A1A_1 B1B_1
::
UMU_M VMV_M AMA_M BMB_M
C1C_1 D1D_1
::
CNC_N DND_N

输出格式

For each t=2,...,Nt=2, ..., N in this order, print a line containing the minimum time needed to travel from City 11 to City tt.

样例 #1

样例输入 #1

3 2 1
1 2 1 2
1 3 2 4
1 11
1 2
2 5

样例输出 #1

3 2 1
1 2 1 2
1 3 2 4
1 11
1 2
2 5

样例 #2

样例输入 #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

样例输出 #2

5
5
7

样例 #3

样例输入 #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

样例输出 #3

1
9003
14606
16510
16576

样例 #4

样例输入 #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

样例输出 #4

1
3
5

样例 #5

样例输入 #5

2 1 0
1 2 1 1
1 1000000000
1 1

样例输出 #5

1000000001

说明

数据规模与约定

  • 2≤N≤502 \leq N \leq 50
  • N−1≤M≤100N-1 \leq M \leq 100
  • 0≤S≤1090 \leq S \leq 10^9
  • 1≤Ai≤501 \leq A_i \leq 50
  • 1≤Bi,Ci,Di≤1091 \leq B_i,C_i,D_i \leq 10^9
  • 1≤Ui<Vi≤N1 \leq U_i \lt V_i \leq N
  • 不存在一对 i,j(i≠j)i, j(i \neq j) ,即 (Ui,Vi)=(Uj,Vj)(U_i,V_i)=(U_j,V_j) 。
  • 每个城市 t=2,...,Nt=2,...,N 都可以通过一定数量的铁路从城市 11 到达。
  • 所有输入值均为整数。

样例 11 解释

该输入中的铁路网络如下图所示。

在该图中,每个城市的标记如下:

  • 第一行:城市的 ID 编号 ii (城市 ii 的 ID 编号为 ii )
  • 第二行 CiC_i / DiD_i

同样,每条铁路的标签如下:

  • 第一行:铁路的 ID 编号 ii (输入中第 ii 条铁路的 ID 编号为 ii )
  • 第二行 AiA_i / BiB_i

image.png

您可以在 22 分钟内从城市 11 到达城市 22 ,具体如下:

  • 使用第 11 条铁路在 22 分钟内从城市 11 到达城市 22 。

您可以在 1414 分钟内从城市 11 到达城市 33 ,具体如下:

  • 使用第 11 条铁路,从城市 11 到城市 22 只需 22 分钟。
  • 在城市 22 的兑换处,用 66 分钟将 33 金币兑换成 33 银币。
  • 使用第 11 条铁路在 22 分钟内从城市 22 移动到城市 11 。
  • 使用第 22 条铁路,在 44 分钟内从城市 11 到达城市 33 。

样例 22 解释

该输入中的铁路网络如下图所示:

image.png

您可以在 77 分钟内从城市 11 前往城市 44 ,具体如下:

  • 在城市 11 的兑换处用 22 金币兑换 66 银币,用时 22 分钟。
  • 使用第 22 条铁路,在 44 分钟内从城市 11 移动到城市 33 。
  • 使用第 44 条铁路,从城市 33 到城市 44 只需 11 分钟。

样例 33 解释

该输入中的铁路网络如下图所示:

image.png

从城市 11 到城市 66 只需 1657616576 分钟,具体如下:

  • 使用第 11 条铁路从城市 11 到城市 22 只需 11 分钟。
  • 在 22 城的兑换处,用 33 金币兑换 33 银币,用时 90009000 分钟。
  • 使用第 11 条铁路,在 11 分钟内从城市 22 移动到城市 11 。
  • 使用第 22 条铁路,在 11 分钟内从城市 11 到城市 33 。
  • 在城市 33 的兑换柜台,用 56005600 分钟将 88 金币兑换成 88 银币。
  • 使用第 22 条铁路在 11 分钟内从城市 33 移动到城市 11 。
  • 使用第 11 条铁路,在 11 分钟内从城市 11 到城市 22 。
  • 使用第 33 条铁路,在 11 分钟内从城市 22 到城市 44 。
  • 在 44 城的兑换处,用 1919 金币兑换 1919 银币,用时 19001900 分钟。
  • 使用第 33 条铁路,在 11 分钟内从城市 44 移动到城市 22 。
  • 使用第 11 条铁路,在 11 分钟内从城市 22 到城市 11 。
  • 使用第 22 条铁路,在 11 分钟内从城市 11 到城市 33 。
  • 使用第 44 条铁路,在 11 分钟内从城市 33 到城市 55 。
  • 在 55 城的兑换处,用 6363 金币兑换 6363 银币,用时 6363 分钟。
  • 使用第 44 条铁路,在 11 分钟内从城市 55 移动到城市 33 。
  • 使用第 22 条铁路,在 11 分钟内从城市 33 到城市 11 。
  • 使用第 55 条铁路,在 11 分钟内从城市 11 到城市 66 。

样例 44 解释

该输入中的铁路网络如下图所示:

image.png

样例 55 解释

该输入中的铁路网络如下图所示:

image.png

您可以在 10000000011000000001 分钟内从城市 11 到达城市 22 ,具体如下:

  • 在城市 11 的兑换处,用 11 金币兑换 11 银币,用时 10000000001000000000 分钟。
  • 使用第 11 条铁路,在 11 分钟内从城市 11 移动到城市 22 。