atcoder#ABC164E. [ABC164E] Two Currencies

[ABC164E] Two Currencies

题目描述

1 1 から N N までの番号がつけられた N N 個の都市があります。 これらの都市は M M 本の鉄道路線によって結ばれています。

あなたは現在、金貨を 10100 10^{100} 枚、銀貨を S S 枚持った状態で都市 1 1 にいます。

i i 番目の鉄道路線は、都市 Ui U_i と都市 Vi V_i を双方向に結んでおり、片道の運賃は 銀貨 Ai A_i 枚、移動にかかる時間は Bi B_i 分です。 運賃を金貨で払うことはできません。

各都市には両替所があり、都市 i i の両替所では金貨 1 1 枚を銀貨 Ci C_i 枚と交換することができます。 交換には、金貨 1 1 枚あたり Di D_i 分かかります。
各交換所では、金貨を何枚でも交換することができます。

t=2,...,N t=2,...,N について、都市 1 1 から都市 t t への移動にかかる最小の時間を求めてください。電車を待つのにかかる時間は無視して構いません。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M S S U1 U_1 V1 V_1 A1 A_1 B1 B_1 : : UM U_M VM V_M AM A_M BM B_M C1 C_1 D1 D_1 : : CN C_N DN D_N

输出格式

t=2,...,N t=2,...,N について、都市 1 1 から都市 t t への移動にかかる最小の時間を順番に一行ずつ出力せよ。

题目大意

题目描述

nn 个城市,它们由 mm 条双向道路连接,保证它们能够彼此到达。第 ii 条道路连接 ui,viu_i,v_i,需要花费 xix_i 个银币,耗费 tit_i 秒的时间。每个城市处都有兑换银币处,第 ii 个城市中你可以用 11 个金币兑换 cic_i 个银币,可以兑换无限次,不过兑换 11 次需要花费 did_i 秒的时间。你一开始在 11 号城市,有 ss 个银币和无限多的金币,求到其它城市需要耗费的最小时间。

1n501 \leq n \leq 50n1m100n - 1 \le m \le 1001xi501 \leq x_i \leq 501ti,di1091 \leq t_i,d_i \leq 10^91s,ci1091 \leq s,c_i \leq 10^9

输入格式

  • 第一行 n,m,sn,m,s
  • 接下来 mmui,vi,xi,tiu_i,v_i,x_i,t_i
  • 接下来 nnci,dic_i,d_i

输出格式

一个整数表示答案。

3 2 1
1 2 1 2
1 3 2 4
1 11
1 2
2 5
2
14
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
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 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
2 1 0
1 2 1 1
1 1000000000
1 1
1000000001

提示

制約

  • 2  N  50 2\ \leq\ N\ \leq\ 50
  • N1  M  100 N-1\ \leq\ M\ \leq\ 100
  • 0  S  109 0\ \leq\ S\ \leq\ 10^9
  • 1  Ai  50 1\ \leq\ A_i\ \leq\ 50
  • 1  Bi,Ci,Di  109 1\ \leq\ B_i,C_i,D_i\ \leq\ 10^9
  • 1  Ui < Vi  N 1\ \leq\ U_i\ <\ V_i\ \leq\ N
  • (Ui,Vi)=(Uj,Vj) (U_i,V_i)=(U_j,V_j) なる i,j(i  j) i,j(i\ \neq\ j) は存在しない
  • 都市 1 1 から都市 t=2,...,N t=2,...,N にいくつかの鉄道路線を使って移動することができる。
  • 入力はすべて整数である。

Sample Explanation 1

この入力中の鉄道網は以下のようなものです。 ここで、図中の都市のラベルは - 一段目に都市の番号 i i - 二段目に Ci / Di C_i\ /\ D_i の形式に従っています。同様に、鉄道路線のラベルは - 一段目に鉄道路線の番号 i i - 二段目に Ai / Bi A_i\ /\ B_i の形式に従っています。 ![図](https://img.atcoder.jp/ghi/83f6a1d296d017f40372ea1e1d3b26e5.png) 以下のように行動することで、 都市 1 1 から都市 2 2 2 2 分で移動できます。 - 1 1 番目の鉄道路線を使って、都市 1 1 から都市 2 2 へ移動する。(所要時間: 2 2 分) 以下のように行動することで、 都市 1 1 から都市 3 3 14 14 分で移動できます。 - 1 1 番目の鉄道路線を使って、都市 1 1 から都市 2 2 へ移動する。(所要時間: 2 2 分) - 都市 2 2 の両替所で、金貨 3 3 枚を銀貨 3 3 枚と交換する。(所要時間: 6 6 分) - 1 1 番目の鉄道路線を使って、都市 2 2 から都市 1 1 へ移動する。(所要時間: 2 2 分) - 2 2 番目の鉄道路線を使って、都市 1 1 から都市 3 3 へ移動する。(所要時間: 4 4 分)

Sample Explanation 2

この入力中の鉄道網は以下のようなものです。 ![図](https://img.atcoder.jp/ghi/a081a72c42da7902a30f29f981c368d0.png) 以下のように行動することで、 都市 1 1 から都市 4 4 7 7 分で移動できます。 - 都市 1 1 の両替所で、金貨 2 2 枚を銀貨 6 6 枚と交換する。(所要時間: 2 2 分) - 2 2 番目の鉄道路線を使って、都市 1 1 から都市 3 3 へ移動する。(所要時間: 4 4 分) - 4 4 番目の鉄道路線を使って、都市 3 3 から都市 4 4 へ移動する。(所要時間: 1 1 分)

Sample Explanation 3

この入力中の鉄道網は以下のようなものです。 ![図](https://img.atcoder.jp/ghi/c61c66a7977129c9ef86c6770b37acba.png) 以下のように行動することで、 都市 1 1 から都市 6 6 16576 16576 分で移動できます。 - 1 1 番目の鉄道路線を使って、都市 1 1 から都市 2 2 へ移動する。(所要時間: 1 1 分) - 都市 2 2 の両替所で、金貨 3 3 枚を銀貨 3 3 枚と交換する。(所要時間: 9000 9000 分) - 1 1 番目の鉄道路線を使って、都市 2 2 から都市 1 1 へ移動する。(所要時間: 1 1 分) - 2 2 番目の鉄道路線を使って、都市 1 1 から都市 3 3 へ移動する。(所要時間: 1 1 分) - 都市 3 3 の両替所で、金貨 8 8 枚を銀貨 8 8 枚と交換する。(所要時間: 5600 5600 分) - 2 2 番目の鉄道路線を使って、都市 3 3 から都市 1 1 へ移動する。(所要時間: 1 1 分) - 1 1 番目の鉄道路線を使って、都市 1 1 から都市 2 2 へ移動する。(所要時間: 1 1 分) - 3 3 番目の鉄道路線を使って、都市 2 2 から都市 4 4 へ移動する。(所要時間: 1 1 分) - 都市 4 4 の両替所で、金貨 19 19 枚を銀貨 19 19 枚と交換する。(所要時間: 1900 1900 分) - 3 3 番目の鉄道路線を使って、都市 4 4 から都市 2 2 へ移動する。(所要時間: 1 1 分) - 1 1 番目の鉄道路線を使って、都市 2 2 から都市 1 1 へ移動する。(所要時間: 1 1 分) - 2 2 番目の鉄道路線を使って、都市 1 1 から都市 3 3 へ移動する。(所要時間: 1 1 分) - 4 4 番目の鉄道路線を使って、都市 3 3 から都市 5 5 へ移動する。(所要時間: 1 1 分) - 都市 5 5 の両替所で、金貨 63 63 枚を銀貨 63 63 枚と交換する。(所要時間: 63 63 分) - 4 4 番目の鉄道路線を使って、都市 5 5 から都市 3 3 へ移動する。(所要時間: 1 1 分) - 2 2 番目の鉄道路線を使って、都市 3 3 から都市 1 1 へ移動する。(所要時間: 1 1 分) - 5 5 番目の鉄道路線を使って、都市 1 1 から都市 6 6 へ移動する。(所要時間: 1 1 分)

Sample Explanation 4

この入力中の鉄道網は以下のようなものです。 ![図](https://img.atcoder.jp/ghi/bfbde2d55baea1e0487f80a62ef9b4ab.png)

Sample Explanation 5

この入力中の鉄道網は以下のようなものです。 ![図](https://img.atcoder.jp/ghi/16b8d5c94640ed5b38c0863716196890.png) 以下のように行動することで、 都市 1 1 から都市 2 2 1000000001 1000000001 分で移動できます。 - 都市 1 1 の両替所で、金貨 1 1 枚を銀貨 1 1 枚と交換する。(所要時間: 1000000000 1000000000 分) - 1 1 番目の鉄道路線を使って、都市 1 1 から都市 2 2 へ移動する。(所要時間: 1 1 分)