配点 : 600 点
問題文
N 頂点 M 辺の有向グラフがあります。
頂点は 1,…,N と番号付けられており、i(1≤i≤M) 番目の辺は頂点 Ai から頂点 Bi に向けて張られています。
はじめ、頂点 i(1≤i≤N) には Xi 個の落とし物があります。これらの落とし物を K 人で拾うことになりました。
K 人は 1 人ずつグラフ上を移動します。各々は次のような行動をとります。
- 頂点 1 から出発し、辺をたどって移動することを任意の有限回繰り返す。訪れた各頂点(頂点 1 も含む)について、落とし物がまだ拾われていなければ、全て拾う。
合計で最大何個の落とし物を拾うことができるか求めてください。
制約
- 2≤N≤2×105
- 1≤M≤2×105
- 1≤K≤10
- 1≤Ai,Bi≤N
- Ai=Bi
- i=j ならば、Ai=Aj または Bi=Bj
- 1≤Xi≤109
- 入力は全て整数である。
入力
入力は以下の形式で標準入力から与えられる。
N M K
A1 B1
⋮
AM BM
X1 … XN
出力
答えを出力せよ。
5 5 2
1 2
2 3
3 2
1 4
1 5
1 4 5 2 8
18
2 人がそれぞれ次のように行動することで、18 個の落とし物を拾うことができます。
- 1 人目は、頂点 1→2→3→2 の順に移動し、頂点 1,2,3 にある落とし物を拾う。
- 2 人目は、頂点 1→5 の順に移動し、頂点 5 にある落とし物を拾う。
19 個以上の落とし物を拾うことはできないので、18 を出力します。
3 1 10
2 3
1 100 100
1