問題一覧 > 通常問題

No.3348 Tree Balance

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 7
作問者 : ZOI-dayo / テスター : Nzt3 jupiter_68 noya2
ProblemId : 12811 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-11-13 16:35:13
コンテストの他の問題:

問題文

$N$ 個の頂点と $N-1$ 本の辺からなる木が与えられます。辺 $i$ ($1 \le i \le N-1$) は頂点 $A_i$ と頂点 $B_i$ を繋いでいます。
各頂点 $i$ ($1 \le i \le N$) には重み $W_i$ が設定されています。

あなたはこの木から辺を $2$ 本選んで (頂点を残して) 削除することで、木を $3$ つに分割します。

それぞれの木について、含まれる頂点の重みの総和を計算します。これを $S_1, S_2, S_3$ とします。
$3$ つの木の重みの差の最大値、すなわち $\max(S_1, S_2, S_3) - \min(S_1, S_2, S_3)$ を最小化してください。

制約

  • $3 \le N \le 2 \times 10^5$
  • $1 \le W_i \le 10^9$
  • $1 \le A_i, B_i \le N$
  • $A_i \neq B_i$
  • 与えられるグラフは木である。
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられます。

$N$
$W_1\ W_2\ \dots\ W_N$
$A_1\ B_1$
$A_2\ B_2$
$\vdots$
$A_{N-1}\ B_{N-1}$

$1$ 行目に頂点の数 $N$ 、$2$ 行目に各頂点の重み $W_1, W_2, \ldots, W_N$ 、続く $N-1$ 行に $i$ 番目の辺が頂点 $A_i$ と頂点 $B_i$ を結んでいるという情報が与えられます。

出力

$3$ つの木の重みの (最大値 - 最小値) の最小値を、整数で $1$ 行に出力してください。 最後に改行してください。

サンプル

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

1-2-3-4-5 というパスグラフです。例えば、1-2, 3-4, 5の3つの木に分割することができ、このとき重みの差の最大値は $10$ になります。
重みの差の最大値を $10$ 未満にする分割方法はないので、 $10$ が答えとなります。

サンプル2
入力
4
10 5 6 7
1 2
1 3
1 4
出力
9
サンプル3
入力
9
147020957 677362324 450052904 16845359 45810150 325394266 982528921 104391635 490669916
6 2
9 6
4 1
3 2
5 3
2 1
8 3
7 6
出力
625419147

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