AT_nupc2024_l Move It 2

题目描述

有 $N$ 个箱子排成一排,从左到右第 $i$ 个箱子编号为 $i$。同时,有 $N$ 个编号为 $1$ 到 $N$ 的货物。货物 $i$($1 \le i \le N$)的重量为 $W_i$,且当前在编号为 $A_i$ 的箱子中。 你的目标是使每个箱子中恰好有一个货物。为此,你可以重复进行以下操作: - 选择一个货物,将其移动到相邻的箱子。若移动的货物重量为 $w$,则该操作的代价为 $w$。 请你求出,为达成目标所需的最小操作次数,以及在最小操作次数下所需总代价的最小值。输出时,两者用空格隔开。

输入格式

输入通过标准输入提供,格式如下: > $N$ $A_1$ $A_2$ $\dots$ $A_N$ $W_1$ $W_2$ $\dots$ $W_N$

输出格式

输出目标达成所需的最小操作次数,以及在操作次数最小的情况下总代价的最小值,用空格隔开。

说明/提示

## 子任务 对于满足额外约束 $N \le 500$ 的数据集,获得 $1$ 分。 ## 样例解释 1 可以用如下 $2$ 次操作,在总代价为 $3$ 的情况下达成目标: - 将货物 $1$ 从箱子 $2$ 移到箱子 $1$,代价 $1$。 - 将货物 $2$ 从箱子 $2$ 移到箱子 $3$,代价 $2$。 用 $1$ 次或更少的操作无法达成目标,因此最小操作次数为 $2$。而总代价也无法小于 $3$,所以最小总代价为 $3$。 ## 样例解释 2 有时初始状态已经符合目标。 # 数据范围 - $1 \leq N \leq 10^4$ - $1 \leq A_i \leq N$ ($1 \leq i \leq N$) - $1 \leq W_i \leq 10^9$ ($1 \leq i \leq N$) - 输入均为整数。 由 ChatGPT 5 翻译