题目描述
一个偶然的机会,小 C 玩了宝可梦游戏,就被里面的形形色色的宝可梦吸引住了,C 爸觉得小 C 过于沉迷宝可梦游戏,于是想通过宝可梦出一道题来考考小 C。
已知小 C 拥有 n 个宝可梦,每个宝可梦都有一个初始战斗力 a,由于种类和特性的不同,每个宝可梦都有一个成长值 g,即每经过一天,宝可梦的战斗力都会增加 g,所以 t 天后,宝可梦的战斗力为 a + g*t。
C 爸又给每个宝可梦标记一个排名编号,编号小的宝可梦的战斗力严格大于编号大的宝可梦的战斗力,然后他让小 C 进行计算,经过多少天之后,所有的宝可梦的战斗力排名会和 C 爸标记的排名一样。
输入
第一行,整数 T,表示一共有 T 组测试数据。
每组测试数据:
第一行,整数 n ,表示宝可梦数量。
第二行,n 个整数,第 i 个整数 ai ,表示第 i 个宝可梦的初始战斗力。
第三行,n 个整数,第 i 个整数 gi ,表示第 i 个宝可梦的战斗力成长值。
第四行,n 个整数,第 i 个整数 pi ,表示 C 爸标记的第 i 个宝可梦的战斗力排名,排名从 0 开始到 n - 1 结束,无重复。
输出
T行,每行一个整数,表示第几天所有宝可梦的战斗力排名和 C 爸标记的一样,如果无法和 C 爸标记的一样,则输出 -1。 样例输入 复制 5
1
7
1
0
2
7 3
4 7
1 0
2
3 6
6 3
0 1
2
7 3
6 8
1 0
2
7 7
8 8
0 1
样例输出
0
2
2
3
-1
提示
数据范围:
1 <= T <= 10。
1 <= n <= 2*105。
0 <= ai <=109。
0 <= bi <=109。
1 <= pi <= n-1。