题目描述
给定两个长度均为 n 的整数数组:
a1,a2,…,an
和
b1,b2,…,bn
你可以执行以下操作若干次。每次操作:
- 选择一个下标 i 和一个实数 x;
- 从下面三种修改方式中选择一种执行:
- 将 ai 改为 x;
- 将 bi 改为 x;
- 将 ai 和 bi 同时改为 x。
请计算最少需要执行多少次操作,才能使修改后的数组 a 和数组 b 都是等差数列。
数列 x1,x2,…,xn 是等差数列,当且仅当存在一个实数 d,使得对于所有 1≤i<n,均有
xi+1=xi+d
注意,最终得到的两个等差数列不要求相同,它们的首项和公差可以不同。
输入格式
第一行包含一个整数 n。
第二行包含 n 个整数 a1,a2,…,an。
第三行包含 n 个整数 b1,b2,…,bn。
输出格式
输出一行一个整数,表示最少操作次数。
样例 1
5
0 0 3 0 2
2 0 3 3 1
3
样例 1 解释
可以执行以下三次操作:
- 将 a1,b1 同时改为 −3;
- 将 a4,b4 同时改为 6;
- 将 a5,b5 同时改为 9。
此时
a=b=(−3,0,3,6,9)
两个数组均为等差数列。
样例 2
5
5 0 1 2 0
0 1 0 -1 5
4
样例 3
5
5 0 1 2 0
0 9 7 5 -1
3
数据范围
对于全部数据:
3≤n≤1000
−1000≤ai,bi≤1000
部分测试点具有以下性质:
| 测试点编号 |
n 的上限 |
特殊性质 |
| 1 |
5 |
ai,bi∈{0,1} |
| 2 |
3 |
无 |
| 3∼5 |
60 |
| 6∼8 |
100 |
| 9∼12 |
300 |
| 13 |
1000 |
ai,bi 均在 [−103,103] 中随机生成 |
| 14 |
ai∈{0,1} |
| 15∼20 |
无 |