#ATabc164e. D80 分层图最短路[ABC164E] Two Currencies

D80 分层图最短路[ABC164E] Two Currencies

AT_abc164_e [ABC164E] Two Currencies

题目描述

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

输出格式

输出 n1n - 1 行,第 ii 行一个整数表示到第 i+1i + 1 个城市耗费的最小时间。

样例 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