#WC009. 相位迁移
相位迁移
题目描述
尘正在观测一条由 个光子组成的「时空弦」,其初始态可以由 来描述,其中 代表第 个光子的能量值。
现在尘要将时空弦调整至目标态 ,为此她会使用一种特殊的能力,每次选择一个整数 ,满足 ,并对第 个光子和第 个光子进行一次「相位迁移」操作:
- 尘首先将第 个光子和第 个光子的物理位置交换。
- 这次交换会引发时空涟漪:移动到 位置的光子,其能量值加 ;而移动到 位置的光子,其能量值减 。
请计算尘最少使用多少次「相位迁移」操作可以调整时空弦至目标态,或者判断她无论用多少次都无法完成这项任务。
限制条件
- 输入中的所有值均为整数。
输入格式
输入以如下格式从标准输入中给出。
输出格式
如果尘无法将时空弦的初始态 变为目标态 ,输出 -1。
如果可以,输出所需的最小操作次数。
输入输出样例 #1
输入 #1
3
3 1 4
6 2 0
输出 #1
2
输入输出样例 #2
输入 #2
3
1 1 1
1 1 2
输出 #2
-1
输入输出样例 #3
输入 #3
5
5 4 1 3 2
5 4 1 3 2
输出 #3
0
输入输出样例 #4
输入 #4
6
8 5 4 7 4 5
10 5 6 7 4 1
输出 #4
7
样例解释 1
如下操作可以在 次内将 变为 :
- 首先,选择 进行操作。此时 。
- 然后,选择 进行操作。此时 。
无法在 次或更少的操作内达成目标。
样例解释 2
在这种情况下,无法将 变为 。
样例解释 3
因为 已经与 相同,所以尘不用进行任何操作。
相关
在下列比赛中: