No.1 道のショートカット
問題文
個の町があります。それぞれと番号がふられています。
それぞれの街は直接、道でつながっているものもあれば、つながってないものがあります。
それぞれの道は 町から町に行くのに 円がかかり、 単位時間 かかります。
あなたは の町にいます。
の都市に行きたいと思っています。
何個道や町を経由してもいいですが、あなたは今円しか持っていません。
(つまり、通った道のコスト の合計を以下にしないといけない。)
その中で一番早く着く道を選べた時、合計の単位時間を答えてください。
この制約の中で辿りつけない場合 を返してください。
入力
行目に、町の数を表す整数 が与えられる。
行目に、手持ちのお金を表す整数 が与えられる。
行目に、道の数を表す整数 が与えられる。
行目に、が個スペース区切りで与えられる。
行目に、が個スペース区切りで与えられる。
行目に、が個スペース区切りで与えられる。
行目に、が個スペース区切りで与えられる。
は それぞれ インデックス で町 町 (有向グラフ)の移動に コスト がかかり、 単位時間かかるという意味です。
町どうしを道でつないだ後にできるグラフは閉路(ループ)がないとし、番号的には となっているとする。
つまり、番号的に戻る経路(例えば町から町など)へは考えなくてもよい。
道の接続的に町に辿りつけない場合もあります。
への経路が複数ある場合があります。
出力
の町からの町へ行く一番早く着く道を選べた時、合計の単位時間を答えてください。
この制約の中で辿りつけない場合 -1を返してください。
最後に改行してください。
サンプル
サンプル1
入力
3 100 3 1 2 1 2 3 3 10 90 10 10 10 50
出力
20
と行くと コストだが、単位時間が掛かる。
と行くと 一文無しになるが、 単位時間と早いのでこちらを選択する。
サンプル2
入力
3 100 3 1 2 1 2 3 3 1 100 10 10 10 50
出力
50
と行くと 時間はと短いが、コストかかるため選択できない。
サンプル3
入力
10 10 19 1 1 2 4 5 1 3 4 6 4 6 4 5 7 8 2 3 4 9 3 5 5 5 6 7 7 7 7 8 8 9 9 9 9 10 10 10 10 8 6 8 7 6 6 9 9 7 6 9 7 7 8 7 6 6 8 6 8 9 10 4 10 3 5 9 3 4 1 8 3 1 3 6 6 10 4
出力
-1
サンプル4
入力
2 1 2 1 1 2 2 1 2 100 10
出力
100
多重辺があることにも気をつけてください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。