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 翻译