站外题求助
查看原帖
站外题求助
1339828
Betrayer_of_love楼主2024/4/25 20:12

题目描述

一个偶然的机会,小 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。

最好私信给代码,必关

2024/4/25 20:12
加载中...