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