给定 2 个长度为均为 n 的整数数组 nums1 和 nums2 ,每次操作可以交换数组 nums2 中任意 2 个元素,其代价为两个下标的和。
目标是对于所有的下标 i 。0<=i<n ,n 为数组的长度,都满足nums1[i]=nums2[i]。
返回满足目标的最小代价和,如果达不成目标,返回 −1 。
输入格式:
第一行输入整数数组的长度 n
第二行输入长度为 n 的整数数组 nums1
第二行输入长度为 n 的整数数组 nums2
1<=n<=105
1<=nums1[i],nums2[i]<=105
输入
4
1 2 3 4
1 2 3 4
输出
6
说明
其中代价和最小的一种方法为:
交换下标为 0 和 1 的两个值,代价为 0+1=1 ,现在 nums1=[2,1,3,4] 。
交换下标为 2 和 3 的两个值,代价为 2+3=5 ,现在 nums1=[2,1,4,3]。
总代价为 6 。
输入
3
2 1 1
1 1 2
输出
-1
说明
无论怎么操作,都无法要求。所以返回 −1 。
扫码备注华为交流群~期待您的到来