공항 건설 비용 Bk와 최대 건설 개수 Hk가 주어진 C개 회사 각각에 대해, M개의 직사각형 장애물을 피하는 축에 평행한 도로로 모든 마을을 공항과 연결하는 최소 비용을 구하고 불가능하면 -1을 출력합니다.
어려움8그래프유니온 파인드최소 신장 트리구현아직 제출이 없습니다시간 제한5초메모리 제한256 MBIOI 国では交通網の一斉整備を行うことになった.IOI 国は xy 座標平面として表され,その上に N 個の 町がある.i 番目 (1 ≤ i ≤ N) の町は点 (Xi, Yi) として表される.交通網の整備は次の手順で行われる.
このとき,次の条件が満たされていなければならない.
この事業の発注先として建設会社 C 社が候補に挙がっている.k 番目 (1 ≤ k ≤ C) の建設会社は国際空港 を 1 つ建設するのにコスト Bk がかかり,最大で Hk 個までの国際空港を建設できる (道路の建設にかかる コストは建設会社によらず,また道路の本数や長さに制限はない).それぞれの建設会社に対して,その建 設会社が上の条件を満たすように交通網の整備を行うときにかかるコストの合計値の最小値を求めたい.
建設できる国際空港の個数が小さいために,条件を満たすような交通網の整備を行えない建設会社があ るかもしれない.その場合はコストの合計値ではなく,条件を満たせないということを報告してほしい.
IOI 国の町の数を表す整数 N と町の座標,道路を敷設できない領域の数を表す整数 M とそれぞれの領域 を表す座標,発注先候補の建設会社の数を表す整数 C とそれぞれの建設会社の情報が与えられたとき,そ れぞれの建設会社に対して問題文中で述べられた条件を満たすように交通網の整備を行うときにかかるコ ストの合計値の最小値を求めるプログラムを作成せよ.
標準入力から以下の入力を読み込め.
標準出力に C 行出力せよ.k 行目 (1 ≤ k ≤ C) には,k 番目の発注先候補の建設会社がこの事業を行うと したときにかかるコストの合計値の最小値を表す 1 つの整数を出力せよ.ただし,k 番目の発注先候補の 建設会社が条件を満たすように事業を行えない場合はかわりに整数 −1 を出力せよ.