每个测试文件均包含多组测试数据。第一行输入一个整数 代表数据组数,每组测试数据描述如下:第一行输入两个整数 和 ,分别表示方格数量和颜料种类。第二行输入 个整数 ,表示各方格的初始颜色。第三行输入 个整数 ,表示各颜料的编号。除此之外,保证单个测试文件的 之和、 之和均不超过 。
对于每一组测试数据,新起一行。若无法让所有方格的颜色编号完全相同,输出 ;否则,输出一个整数,表示最少的操作次数。
3 2 1 2 4 4 5 3 60 90 150 180 210 240 60 90 5 4 9 3 7 10 11 5 8 9 2
-1 6 5
对于第一组测试数据,可以证明无法让所有方格的颜色编号完全相同。对于第二组测试数据,一种操作次数最小的方案为:选择方格 和颜料 ,方格颜色变为 ;选择方格 和颜料 ,方格颜色变为 ;选择方格 和颜料 ,方格颜色变为 ;选择方格 和颜料 ,方格颜色变为 ;选择方格 和颜料 ,方格颜色变为 ;选择方格 和颜料 ,方格颜色变为 。