#1190. 冒泡排序 Ⅱ
冒泡排序 Ⅱ
题目背景
你说得对,但是小G可以用冒泡排序速切省选题。
题目描述
小G有一个含 个元素的序列 ,第 个元素的值为 。
现在他想通过交换元素把这个序列变为另一个也含有 个元素的序列 ,第 个元素的值为 。
由于小G用的是冒泡排序,所以你每次只能对相邻的两个元素进行交换。
请你判断小G能否完成这个任务?如果能完成,又最少需要进行多少次交换操作?
输入格式
本题有多组测试数据。
第一行包括一个正整数 ,表示该测试点的测试数据数。
接下来对于每一组测试数据:
- 第一行包含一个正整数 ,表示这两个序列的长度。
- 第二行包含 个整数,第 个整数表示 的值,两数之间用空格分隔。
- 第三行包含 个整数,第 个整数表示 的值,两数之间用空格分隔。
输出格式
对于每组测试数据,一行输出一个数字,表示最少需要交换多少次。
如果无法通过交换完成这个任务,则输出 。
样例 #1
样例输入 #1
4
3
1 2 3
3 2 1
3
1 2 3
2 3 4
5
1 3 5 2 4
4 2 5 3 1
5
2 5 7 3 6
3 7 2 5 6
样例输出 #1
3
-1
10
5
提示
样例解释
对于第一组数据,将 向后移动 位,再将 向后移动 位即可,共 次操作。
对于第二组数据,由于 数组中不存在元素 ,故无法完成任务。
数据规模与约定
测试点 | 数据范围 | 特殊性质 |
---|---|---|
A | ||
无 | ||
A | ||
无 |
特殊性质 A : 保证序列 中的每个满足 的元素 , 。
对于 的数据, ,。
本题输入数据较大,请使用较快的 IO 方式。