题目要求求出最多有多少个关卡两个人互相不会嘲笑,也就是当我们求出差分数组(增量)之后,转化为求两个差分数组中相同部分的最长连续子数组。
什么是两个数组相同部分的连续子数组?
假设下标索引i到j是数组a和数组b相同部分的连续子数组,那么对于每一个x(i<=x<=j),ax==bx都是成立的。
例如这两个数组
a = [1, 2, 3, 4, 5, 6, 7]
本题为2024年8月28日得物机考原题
得物机考的介绍点击这里
小红和小堡正在玩一个游戏,每一关都有一个分数。如果某人某一关分数比上一关高,但另一个人这一关分数比上一关低,那么他就可以嘲笑对方。如果两个人这一关游戏的分数都比上一关多,则增量更多的可以嘲笑对方;如果两个人这一关游戏的分数都比上一关少,则减量更少的可以嘲笑对方。只有当他们的增量相同或者减量相同时,才不会互相嘲笑。
例如,假设小红第一关的分数为2,第二关的分数为8;小堡第一关的分数为5,第二关的分数为10,显然小红增加的比小堡多,那么小红就可以嘲笑小堡。
现在给定了小红和小堡每一关的分数,你可以选择一段连续的关卡,使得一段关卡中两个人都不会互相嘲笑,问最多可以选择多少个关卡。特别的一段连续关卡中的第一关两人不会互相嘲笑。
第一行输入一个正整数n,代表关卡数。
第二行输入n个整数ai,代表小红每一关的分数。
第三行输入n个整数bi,代表小堡每一关的分数。
2≤n≤105
−10≤ai,bi≤109
输出可以选择最多的关卡数。
输入
5
1 2 3 1 3
-1 0 3 -1 1
输出
2
说明
可以选择前两个数,[1,2]和[−1,0]相似,长度为2. 选择后两个数也是可以的。