#1033. 减法与重排

减法与重排

题目描述

Alice 为 Bob 想出了另一个谜题。Alice 带来了两个长度为 nn 的数组 aabb,并允许执行以下两种操作:

  • 选择任意下标 ii1in1 \le i \le n)并将 aia_i 减去 11(即变为 ai1a_i - 1)。此操作的执行时间为 11 秒。
  • 以任意方式重新排列数组 aa 中的所有元素。此操作的执行时间为 cc 秒。

你的目标是将数组 aa 转换为数组 bb

Bob 希望尽快解开这个谜题。请帮助 Bob 确定解开谜题所需的最少时间。如果无论如何都无法转换成功,请输出 -1

输入格式

第一行包含一个整数 tt1t5001 \le t \le 500)—— 测试用例的数量。

对于每个测试用例:

  • 第一行包含两个整数 nncc1n,c1001 \le n, c \le 100)—— 表示数组 aabb 的长度,以及第二种操作(重新排列)所需的时间。
  • 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1001 \le a_i \le 100)—— 表示数组 aa 的元素。
  • 第三行包含 nn 个整数 b1,b2,,bnb_1, b_2, \dots, b_n1bi1001 \le b_i \le 100)—— 表示数组 bb 的元素。

输出格式

对于每个测试用例,输出一行一个整数,表示解开谜题所需的最少秒数;如果无法将数组 aa 转换为数组 bb,则输出 -1

样例输入 1

6
3 5
5 2 3
2 3 4
3 3
1 2 3
4 5 6
4 4
4 5 2 3
3 5 1 2
6 4
2 4 5 3 6 8
5 8 3 1 2 5
5 11
5 8 11 14 17
16 12 10 10 6
3 5
20 14 20
12 18 17

样例输出 1

6
-1
3
8
-1
12

说明

样例解释

  • 在第一个测试用例中,由于 a2<b2a_2 < b_2,我们无法仅使用减法操作将 aa 转换为 bb。让我们以如下方式重新排列数组 aa 的元素:[5,2,3][2,3,5][5, 2, 3] \Rightarrow [2, 3, 5],耗时 55 秒。现在只需要将 a3a_3 减一即可(耗时 11 秒)。总计在 5+1=65 + 1 = 6 秒内使数组 aa 变得与数组 bb 相等。
  • 在第二个测试用例中,aa 的所有元素都小于 bb 的所有元素。因为操作只能减少元素的值,这意味着 aa 无法被转换为 bb
  • 在第三个测试用例中,你可以选择不进行重排,直接执行 33 次减法操作,从而得到答案 33。如果你至少重排一次,时间将至少需要 44 秒,所以最佳答案是 33 秒。
  • 在第六个测试用例中,数组可以被重排为:[14,20,20][14, 20, 20]。可以计算出此时的总代价为 5+(1412)+(2018)+(2017)=125 + (14 - 12) + (20 - 18) + (20 - 17) = 12 秒。

数据范围

  • 对于所有测试点,保证 1t5001 \le t \le 500
  • 对于每个测试用例,保证 1n,c1001 \le n, c \le 100
  • 对于每个测试用例,保证 1ai,bi1001 \le a_i, b_i \le 100
  • 保证所有的输入数值均为整数。