#ddcc2020finalb. [ddcc2020_final_b]Hawker on Graph

[ddcc2020_final_b]Hawker on Graph

問題文

NN 頂点 MM 辺の重み付き有向グラフ GG があります。 GG の頂点には 1,2,ldots,N1, 2, \\ldots, N、辺には 1,2,ldots,M1, 2, \\ldots, M と番号が振られています。 辺 ii は頂点 uiu_i から頂点 viv_i へ張られており、辺の重みは wiw_i です。 あなたは、GG 上で次のようなゲームをします。

初めに、所持金 WW 円を持って頂点 SS 上に立つ。その後、以下の操作を KK 回行う:

  • 自分の今いる頂点から出ている辺を 11 つ選んで、その辺が接続する頂点に移動する。
  • このとき、選んだ辺の重みを ww とすると、ww が正ならば ww 円得る。逆に ww が負ならば w|w| 円失う。また、所持金が負となることはない。すなわち、元の所持金を tt 円とすると、移動後の所持金は mathrmmax(t+w,0)\\mathrm{max}(t+w, 0) 円である。

同じ辺を何度通ってもよく、通るたびに所持金が変化します。 KK 回の操作を完了する前に、移動が不可能になる頂点に訪れては行けません。 また、ゲーム終了時はどの頂点に立っていても構いません。

このとき、ゲーム終了時の所持金は最大でいくらにできるかを求め、出力してください。 ただし、どのように操作を行っても KK 回の操作を完了できない場合は、\-1\-1 を出力してください。

制約

  • 2leqNleq2002 \\leq N \\leq 200
  • 0leqMleqN(N1)0 \\leq M \\leq N (N-1)
  • 0leqWleq10160 \\leq W \\leq 10^{16}
  • 1leqSleqN1 \\leq S \\leq N
  • 1leqKleq1091 \\leq K \\leq 10^9
  • 1lequi,vileqN(1leqileqM)1 \\leq u_i, v_i \\leq N (1 \\leq i \\leq M)
  • \-107leqwileq107(1leqileqM)\-10^7 \\leq w_i \\leq 10^7 (1 \\leq i \\leq M)
  • uineqvi(1leqileqM)u_i \\neq v_i (1 \\leq i \\leq M)
  • ineqji \\neq j ならば (ui,vi)neq(uj,vj)(u_i, v_i) \\neq (u_j, v_j)

入力

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

NN MM WW SS KK u1u_1 v1v_1 w1w_1 :: uMu_M vMv_M wMw_M

出力

KK 回の操作を完了できる場合には、ゲーム終了時の所持金の最大値を出力せよ。 どのように操作を行っても完了できない場合は、\-1\-1 を出力せよ。


入力例 1

5 6 0 1 5
1 2 1
2 3 2
3 4 1
4 1 -1
3 1 -4
2 5 7

出力例 1

8

頂点を $1 \\rightarrow 2 \\rightarrow 3 \\rightarrow 1 \\rightarrow 2 \\rightarrow 5$ と移動すれば、所持金は 88 円となります。


入力例 2

5 6 10 1 4
1 2 1
1 3 3
2 4 6
5 4 0
3 5 2
2 5 1

出力例 2

-1

どのように操作を行っても 44 回の操作を完了することはできません。したがって \-1\-1 を出力します。


入力例 3

2 2 0 2 1000000000
1 2 100000
2 1 100000

出力例 3

100000000000000