在泗水市,有
为了提高环保意识,泗水市长 Pak Dengklek 计划举办无车日。为了鼓励该活动,Pak Dengklek 将组织封路。Pak Dengklek 将首先选择一个非负整数
请你帮助 Pak Dengklek 对每个可能的非负整数
实现细节
你需要实现下列函数:
int64[] minimum_closure_costs(int N, int[] U, int[] V, int[] W)
:泗水市的路口数量。 和 :大小为 的数组,其中 号路口和 路口通过 号道路直接连接。 :大小为 的数组,其中封闭 号道路的成本为 。- 该函数需要返回一个大小为
的数组。对每个 , 号元素是使得每个路口与至多 条未封闭道路直接连接的最低总成本。 - 该函数将被调用恰好一次。
例子
例子一
考虑如下调用:
minimum_closure_costs(5, [0, 0, 0, 2], [1, 2, 3, 4], [1, 4, 3, 2])
这个例子中共有
为了得到最低的总成本:
- 如果 Pak_Dengklek 选择
,那么所有道路都需要封闭,总成本为 ; - 如果 Pak_Dengklek 选择
,那么需要封闭 号道路和 号道路,总成本为 ; - 如果 Pak_Dengklek 选择
,那么需要封闭 号道路,总成本为 ; - 如果 Pak_Dengklek 选择
或 ,那么没有道路需要封闭。
因此,minimum_closure_costs
应该返回数组
例子二
考虑如下调用:
minimum_closure_costs(4, [0, 2, 0], [1, 0, 3], [5, 10, 5])
这个例子中共有
为了得到最低的总成本:
- 如果 PakDengklek 选择
,那么所有道路都需要封闭,总成本为 ; - 如果 PakDengklek 选择
,那么需要封闭 号道路和 号道路,总成本为 ; - 如果 PakDengklek 选择
,那么需要封闭 号道路或 号道路,总成本为 ; - 如果 PakDengklek 选择
,那么没有道路需要封闭。
因此,minimum_closure_costs
应该返回数组
输入格式
示例测试程序按如下格式读取输入数据:
- 第
行: - 第
行:
输出格式
示例测试程序输出仅一行,包含一个数组,表示 minimum_closure_costs
的返回值。
限制与约定
- 任意一对路口可以通过道路互相到达。
。
子任务:
实际测试中,前 22 个 subtask 为数据包,后 7 个 subtask 为 7 个子任务。
- (
分) - (
分) - (
分) - (
分) - (
分) - (
分) - (
分) 无附加限制
时间限制:
空间限制: