No.3111 Toll Optimization
レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 143
作問者 :
Naru820
/ テスター :
kenken714
ponjuice
ZOI-dayo
Nzt3
タグ : / 解いたユーザー数 143
作問者 :
問題文最終更新日: 2025-04-18 19:36:13
問題文
$N$ 個の町と、$M$ 本の橋があります。$i$ 本目の橋は、町 $u_i$ と町 $v_i$ を結ぶ橋で、どちらにも渡ることができ、渡るのに $C_i$ 円かかります。
あなたは、$K$ 枚のクーポンを持っており、橋を渡るときにクーポンを1枚使うと、橋を渡る料金を $0$ 円にすることができます。
あなたは、現在町 $1$ におり、町 $N$ に行きたいです。クーポンを適切に使用したときに、あなたが支払うべき料金の最小値を求めてください。
制約
- $2 \leq N,M \leq 10^5$
- $0 \leq K \leq 3$
- $1 \leq u_i<v_i \leq N$
- $1 \leq C_i \leq 10^9$
- $i \neq j \Rightarrow (u_i,v_i) \neq (u_j,v_j)$
入力
入力は以下の形式で標準入力から与えられる。
$N\ M\ K$ $C_1\ C_2\ldots\ C_M$ $u_1\ v_1$ $u_2\ v_2$ $\vdots$ $u_M\ v_M$
出力
一行に、町$N$へ行くために必要な料金の最小値を出力せよ。ただし、町$N$に到達できない場合は$-1$を出力せよ。最後に改行せよ。
サンプル
サンプル1
入力
3 2 1 4 2 1 2 2 3
出力
2
以下のように移動すれば、町 $N$ に2円で移動することができます。
- 町$1$から$2$にクーポンを使って移動する。
- 町$2$から$3$にクーポンを使わず移動する。
町 $N$ に$2$円未満で移動する方法は存在しない事が証明できるので、答えは$2$です。
サンプル2
入力
5 4 2 4 2 3 9 1 2 2 3 1 3 4 5
出力
-1
町 $N$ に到達することができません。
サンプル3
入力
7 10 1 565731850 55598766 527171038 341219331 325504904 409516626 583498624 3987342 112468674 114000403 1 4 1 5 1 6 2 3 2 4 3 4 3 5 5 7 5 6 6 7
出力
3987342
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。