CF1976B.Increase/Decrease/Copy

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Increase/Decrease/Copy

题目描述

给定两个整数数组:长度为 nn 的数组 aa 和长度为 n+1n+1 的数组 bb

你可以对数组 aa 执行如下任意次数、任意顺序的操作:

  • 选择 aa 中的任意一个元素,将其加 11
  • 选择 aa 中的任意一个元素,将其减 11
  • 选择 aa 中的任意一个元素,将其复制一份并追加到 aa 的末尾。

你的任务是计算将数组 aa 变换为数组 bb 所需的最少操作次数(可以为零)。可以证明,在本题的约束条件下,总是存在可行解。

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例包含三行:

  • 第一行包含一个整数 nn1n2×1051 \le n \le 2 \times 10^5);
  • 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9);
  • 第三行包含 n+1n+1 个整数 b1,b2,,bn+1b_1, b_2, \dots, b_{n+1}1bi1091 \le b_i \le 10^9)。

输入的额外约束:所有测试用例中 nn 的总和不超过 2×1052 \times 10^5

输出格式

对于每个测试用例,输出一个整数,表示将数组 aa 变换为数组 bb 所需的最少操作次数(可以为零)。

说明/提示

在第一个示例中,你可以按如下方式将 aa 变换为 bb:$[2] \rightarrow [2, 2] \rightarrow [1, 2] \rightarrow [1, 3]$。

由 ChatGPT 4.1 翻译

样例

3
1
2
1 3
2
3 3
3 3 3
4
4 2 1 2
2 1 5 2 3
3
1
8

在线编程 IDE

建议全屏模式获得最佳体验