你有一些卡牌。每张卡牌上写着一个整数,叫做它的点数。 一开始你只有一张卡牌,它的点数为 。现在你希望最终得到一排一共 张卡牌,从左到右的点数依次为 。 你可以进行若干次操作(也可以一次都不做),每次操作只能选择以下三种之一: 选择一张卡牌,将它的点数减少 ; 选择一张卡牌,将它的点数增加 ; 选择一张卡牌,复制它得到一张新的卡牌(新卡牌点数与被复制的卡牌相同),并把新卡牌插入到当前这排卡牌的任意位置。 说明:在操作过程中,卡牌点数允许变成 或负数;但是最终的点数必须和给定的 完全一致。 请你计算最少需要多少次操作,才能达到目标。
输入描述:
每个测试文件均包含多组测试数据。第一行输入一个整数 代表数据组数,每组测试数据描述如下:第一行输入两个整数 和 ,表示目标卡牌数量与初始卡牌点数。第二行输入 个整数 ,表示目标序列。除此之外,保证单个测试文件的 不超过 。
输出描述:
对于每一组测试数据,新起一行。输出答案。
示例1
输入
3
1 5
5
2 10
1 100
4 7
7 7 7 7
说明

第一组数据目标只有

张卡牌,初始点数就是

,因此不需要任何操作;

第三组数据需要得到

张点数全为

的卡牌,只需要复制

次即可。
加载中...