atcoder#ABC237E. [ABC237E] Skiing
[ABC237E] Skiing
配点 : 点
問題文
AtCoder スキー場には広場 、広場 、 、広場 の 個の広場があり、広場 の標高は です。 また、 つの広場を双方向に結ぶ 本の坂があり、 本目の坂は広場 と広場 を双方向に結んでいます。どの つの広場の間もいくつかの坂を使って移動することができます。
高橋君は坂を使うことによってのみ広場の間を移動でき、坂を通るごとに楽しさが変化します。具体的には広場 と広場 を直接結ぶ坂を使って広場 から広場 まで移動したとき次のように楽しさが変化します。
- 広場 が広場 より標高が真に高い場合、その標高差、すなわち だけ楽しさが増加する。
- 広場 が広場 より標高が真に低い場合、その標高差の 倍、すなわち だけ楽しさが減少する。
- 広場 と広場 の標高が等しい場合、楽しさは変化しない。
楽しさは負の値になることもあります。
最初、高橋君は広場 におり、楽しさは です。 高橋君はいくつかの坂( 本でも良い)を移動した後に好きな広場で行動を終えることができるとしたとき、行動を終えた時点の高橋君の楽しさとしてありうる最大の値を求めてください。
制約
- $N-1 \leq M \leq \min( 2\times 10^5,\frac{N(N-1)}{2})$
- ならば
- 入力はすべて整数である。
- どの つの広場の間もいくつかの坂を使って移動することができる。
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
4 4
10 8 12 5
1 2
1 3
2 3
3 4
3
広場 広場 広場 と移動したとき、楽しさは次のように変化します。
- 広場 (標高 )から坂を使って広場 (標高 )へ移動します。楽しさは だけ減少し、 になります。
- 広場 (標高 )から坂を使って広場 (標高 )へ移動します。楽しさは だけ増加し、 になります。
ここで行動を終了したとき終了時の楽しさは であり、このときが最大となります。
2 1
0 10
1 2
0
一度も移動を行わない時、楽しさが最大となります。