#P16731. [GKS 2019 #C] Catch Some

    ID: 19063 远端评测题 3000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>动态规划 DP2019背包 DPGoogle Kick Start

[GKS 2019 #C] Catch Some

题目描述

Bundle 是一位动物研究员,需要去观察 KK 只狗。她住在一水平街道上,街道以米为单位递增标记,数字依次为 0,1,2,3,0, 1, 2, 3, \dots。她在家中的位置为 00。街道上还有 NN 只狗。第 ii 只狗位于她家右侧 PiP_i 米处(多只狗可以位于同一位置)。

狗有不同的颜色,用正整数表示。第 ii 只狗的颜色为 AiA_i

如果 Bundle 在家中,她可以更换自己衬衫的颜色。这一点很重要,因为狗非常害羞!只有当她与狗在同一位置,并且穿的衬衫颜色与狗的颜色相同时,Bundle 才能观察该狗。

Bundle 在街道上向左或向右移动一米需要花费一秒钟。更换衬衫或观察狗不花费时间。

Bundle 观察 KK 只狗所需的最少时间是多少?注意,观察完 KK 只狗后,她不必返回家中。

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。每个测试用例的第一行包含两个整数 NNKK,分别表示数轴上狗的数量以及 Bundle 需要观察的狗的数量。第二行包含 NN 个整数,其中第 ii 个整数表示第 ii 只狗的位置 PiP_i。第三行包含 NN 个整数,其中第 ii 个整数表示第 ii 只狗的颜色 AiA_i

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是 Bundle 观察 KK 只狗所需的最少时间。

3
4 3
1 2 4 9
3 3 2 3
4 3
1 2 3 4
1 8 1 8
6 6
4 3 3 1 3 10000
1 2 8 9 5 7
Case #1: 8
Case #2: 6
Case #3: 10028

提示

在样例 #1 中,有 N=4N = 4 只狗,Bundle 需要观察 K=3K = 3 只狗。她可以按如下方式实现:

  • 穿上颜色为 33 的衬衫。
  • 向右移动一米,观察该位置的狗。
  • 再向右移动一米,观察该位置的狗。
  • 向左移动两米,返回家中。
  • 换上颜色为 22 的衬衫。
  • 向右移动四米,观察该位置的狗。

总共花费 88 秒,这是可能的最短时间,因此答案为 88

在样例 #2 中,有 N=4N = 4 只狗,Bundle 需要观察 K=3K = 3 只狗。她可以按如下方式实现:

  • 穿上颜色为 11 的衬衫。
  • 向右移动一米,观察该位置的狗。
  • 向左移动一米,返回家中。
  • 换上颜色为 88 的衬衫。
  • 向右移动两米,观察该位置的狗。
  • 再向右移动两米,观察该位置的狗。注意,Bundle 无法观察她经过的位置 33 处的狗,因为她的衬衫颜色不对(即使她之前穿过正确颜色的衬衫)。

总共花费 66 秒,这是可能的最短时间,因此答案为 66

在样例 #3 中,注意:

  • 多只狗可以位于同一位置;
  • 狗不一定按位置升序给出。

未提供对该样例答案的解释。

限制条件

1T1001 \le T \le 100

1KN1 \le K \le N

1Ai10001 \le A_i \le 1000

1Pi1051 \le P_i \le 10^5

测试集 1(可见)

1N501 \le N \le 50

测试集 2(隐藏)

1N10001 \le N \le 1000

翻译由 DeepSeek V4 Pro 完成