問題一覧 > 通常問題

No.748 yuki国のお財布事情

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 146
作問者 : ikd / テスター : nanae
2 ProblemId : 2382 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2018-10-19 07:08:04

問題文

yuki国にはN個の町とM本の道路があります。
道路で結ばれた町と町とは双方向に行き来することができます。
2つの町を結ぶ道路は2本以上存在せず、道路の両端が同じ町となることはありません。
どの町からどの町へもいくつかの道路をたどって行くことができます。

yuki国では毎年道路の維持費が各道路ごとに発生しています。
そこで王様であるあなたはいくつかの道路を閉鎖することを考えました。
閉鎖された道路を辿って町を行き来することはできなくなりますが、その道路にかかっていた費用の分だけ維持費が削減できます。
ただし国民からの反発を防ぐため、道路の閉鎖によって町から町へたどり着けなくなることがあってはいけません。
つまり道路閉鎖後においても、どの町からどの町へもいくつかの閉鎖されていない道路のみをたどって行くことができるようになっている必要があります。

さらに、yuki国の国民はK本の道路を指定し、これらの道路には思い入れがあるため閉鎖しないように要求しています。

あなたは国民の要求を呑みつつ、できるだけたくさん道路の維持費を削減したいと考えています。
削減できる維持費の総和の最大値はいくつでしょうか。

入力

N M K
a1 b1 c1
a2 b2 c2
.
.
aM bM cM
e1
e2
.
.
eK

1行目に町の個数N、道路の本数M、yuki国の国民が指定した道路の本数Kが空白区切りで与えられます。

2行目からM行にわたって道路の情報が与えられます。
そのうちi行目には道路iが結んでいる2つの町aiおよびbi、道路iの維持費ciが空白区切りで与えられます。

2+M行目からK行にわたってyuki国の国民が指定した道路の情報が与えられます。
そのうちi行目には整数eiが与えられます。これはyuki国の国民が道路eiを閉鎖しないよう要求していることを意味します。

制約

  • 1N105
  • N1Mmin(N×(N1)/2,105)
  • 0KM
  • 1ai<biN (i=1,2,,M)
  • ijならば(ai,bi)(aj,bj)
  • どの町からどの町へもいくつかの道路をたどって行くことができる
  • 1ci109 (i=1,2,,M)
  • 1e1<e2<<eKM
  • 入力はすべて整数

出力

削減できる維持費の総和の最大値を出力してください。最後に改行してください。

サンプル

サンプル1
入力
5 6 3
1 2 8
1 3 5
2 3 7
2 4 4
3 5 4
4 5 7
1
2
3
出力
7

道路1,2,3は国民の要求によって閉鎖できません。
道路4,5,6のうち、2つ以上閉鎖してしまうと町4や町5が孤立してしまいます。

この場合、道路6を閉鎖するのが最適です。道路6の維持費は7なので削減できる維持費の総和の最大値として7を出力します。

サンプル2
入力
4 5 0
1 2 5
1 3 3
1 4 1
2 3 2
2 4 3
出力
8

K=0の場合もありうることに注意してください。

道路1と、道路2または道路5を閉鎖することで合計5+3=8だけ維持費を削減することができます。
これが削減できる維持費の総和の最大なので8を出力します。

サンプル3
入力
6 11 6
4 5 15
2 5 14
2 6 10
1 6 15
3 6 11
2 3 18
5 6 12
1 4 4
2 4 6
1 2 17
3 5 6
1
3
6
7
10
11
出力
50

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。