Description
有下标从 1 开始,长度为 N 的两个序列 A=(A1,A2,⋯,AN) 和 B=(B1,B2,⋯,BN)。
通过重复执行以下操作(可能为 0 次),确定能否使 A 和 B 相同。如果可能,请找到执行此操作所需的最小操作数。
选择一个整数 i (1≤i<N),依次进行如下操作:
- 交换 Ai 和 Ai+1;
- 让 Ai 加 1;
- 让 Ai+1 减 1。
第一行一个正整数 N (2≤N≤2×105),表示序列的长度。
第二行 N 个整数 A1,A2,⋯,AN (0≤Ai≤109),表示需要进行操作的序列。
第三行 N 个整数 B1,B2,⋯,BN (0≤Bi≤109),表示需要使操作后的序列与之相同的序列。
Output
如果无法使 A 和 B 相同,输出 −1。
否则输出一个整数,表示使 A 和 B 相同的最小操作数。
Samples
3
3 1 4
6 2 0
2
Note
我们可以在两次操作中使 A 和 B相同:
首先,对 i=2 进行操作,让 A=(3,5,0);
然后,对 i=1 进行操作,让 A=(6,2,0)。
3
1 1 1
1 1 2
-1
Note
这种情况,不可能通过一定的操作使 A 和 B 相同。
5
5 4 1 3 2
5 4 1 3 2
0
6
8 5 4 7 4 5
10 5 6 7 4 1
7
Limitation
1s, 1024KiB for each test case.