| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 53 | 39 | 31 | 68.889% |
JOI 国には N 個の都市があり,1 から N の番号がついている.これらの都市は,双方向に通行可能な道 でツリー状に接続されている.すなわち,任意の 2 つの都市は道をたどって行き来が可能であり,かつそ の経路は一意である.このとき,道は N − 1 本である.
都市を,M 個の地域に分けることにした.全ての地域は 1 つ以上の都市を含み,全ての都市はちょうど 1 つの地域に含まれるようにしなければならない.また,同じ地域に含まれる任意の 2 つの都市は,その 地域に含まれない都市を通らずに道をたどって行き来が可能でなければならない.
各地域の直径の最大値 dmax ができるだけ小さくなるように地域分けをしたい.ある地域の直径とは,そ の地域に含まれる 2 つの都市間の距離の最大値である.2 つの都市間の距離とは,2 つの都市を結ぶ経路に 含まれる道路の長さの和である.地域に 1 つしか都市が含まれない時,その地域の直径は 0 とする.
道の情報と地域の数が与えられると,dmax の最小値を計算するプログラムを作成せよ.
標準入力から以下の入力を読み込め.
標準出力に dmax の最小値を表す 1 つの整数を出力せよ.
5 2 1 4 2 2 3 3 2 4 1 4 5 1
3
2 つの地域を都市 1, 4, 5 と都市 2, 3 というようにすれば,dmax を 3 にでき,これが最適である.
5 3 1 4 2 2 3 3 2 4 1 4 5 1
2
3 つの地域を都市 1 と 都市 2, 4, 5 と都市 3 というようにすれば,dmax を 2 にでき,これが最適である.