P16731 [GKS 2019 #C] Catch Some
题目描述
Bundle 是一位动物研究员,需要去观察 $K$ 只狗。她住在一水平街道上,街道以米为单位递增标记,数字依次为 $0, 1, 2, 3, \dots$。她在家中的位置为 $0$。街道上还有 $N$ 只狗。第 $i$ 只狗位于她家右侧 $P_i$ 米处(多只狗可以位于同一位置)。
狗有不同的颜色,用正整数表示。第 $i$ 只狗的颜色为 $A_i$。
如果 Bundle 在家中,她可以更换自己衬衫的颜色。这一点很重要,因为狗非常害羞!只有当她与狗在同一位置,并且穿的衬衫颜色与狗的颜色相同时,Bundle 才能观察该狗。
Bundle 在街道上向左或向右移动一米需要花费一秒钟。更换衬衫或观察狗不花费时间。
Bundle 观察 $K$ 只狗所需的最少时间是多少?注意,观察完 $K$ 只狗后,她**不必**返回家中。
输入格式
输入的第一行给出测试用例的数量 $T$。接下来有 $T$ 个测试用例。每个测试用例的第一行包含两个整数 $N$ 和 $K$,分别表示数轴上狗的数量以及 Bundle 需要观察的狗的数量。第二行包含 $N$ 个整数,其中第 $i$ 个整数表示第 $i$ 只狗的位置 $P_i$。第三行包含 $N$ 个整数,其中第 $i$ 个整数表示第 $i$ 只狗的颜色 $A_i$。
输出格式
对于每个测试用例,输出一行,格式为 `Case #x: y`,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是 Bundle 观察 $K$ 只狗所需的最少时间。
说明/提示
在样例 #1 中,有 $N = 4$ 只狗,Bundle 需要观察 $K = 3$ 只狗。她可以按如下方式实现:
- 穿上颜色为 $3$ 的衬衫。
- 向右移动一米,观察该位置的狗。
- 再向右移动一米,观察该位置的狗。
- 向左移动两米,返回家中。
- 换上颜色为 $2$ 的衬衫。
- 向右移动四米,观察该位置的狗。
总共花费 $8$ 秒,这是可能的最短时间,因此答案为 $8$。
在样例 #2 中,有 $N = 4$ 只狗,Bundle 需要观察 $K = 3$ 只狗。她可以按如下方式实现:
- 穿上颜色为 $1$ 的衬衫。
- 向右移动一米,观察该位置的狗。
- 向左移动一米,返回家中。
- 换上颜色为 $8$ 的衬衫。
- 向右移动两米,观察该位置的狗。
- 再向右移动两米,观察该位置的狗。注意,Bundle 无法观察她经过的位置 $3$ 处的狗,因为她的衬衫颜色不对(即使她之前穿过正确颜色的衬衫)。
总共花费 $6$ 秒,这是可能的最短时间,因此答案为 $6$。
在样例 #3 中,注意:
- 多只狗可以位于同一位置;
- 狗不一定按位置升序给出。
未提供对该样例答案的解释。
### 限制条件
$1 \le T \le 100$。
$1 \le K \le N$。
$1 \le A_i \le 1000$。
$1 \le P_i \le 10^5$。
**测试集 1(可见)**
$1 \le N \le 50$。
**测试集 2(隐藏)**
$1 \le N \le 1000$。
翻译由 DeepSeek V4 Pro 完成