题目中每个敌人以恒定速度向基地移动,你的武器初始已充满能量,并且每分钟开始时(第 0、1、2... 分钟)最多可以消灭 1 个敌人;若某个敌人在某一分钟开始时已经到达基地(距离 ≤ 0),它会先攻击基地,游戏立刻结束。
把每个敌人“最晚还能撑到第几分钟开始前不到达基地”转成一个时间点:
dist[i] / speed[i](实数)t 到达,则在第 t 分钟开始你还没来得及开枪就输了你在玩一款塔防游戏,需要操控堡垒保护基地免收敌人袭击。
敌人与基地的距离由大小为 n 的整数数组 dist 表示,其中 dist[i] 是第 i 个敌人与基地的距离(单位为 km)。
敌人会以恒定的速度冲向基地,速度由大小为 n 的整数数组 speed 表示,其中 speed[i] 是第i个敌人的速度(单位为 km/min)。
你的堡垒有一种充能武器,该武器:
n,表示敌人的数量;dist,表示敌人的初始距离,有 n 个元素,中间以空格隔开,且 1 <= dist[i] <= 105;speed,表示敌人的速度,有 n 个元素,中间以空格隔开,且 1 <= speed[i] <= 20;n = dist.length = speed.length;一个正整数,表示游戏结束前可以消灭的最大数量。
输入:
3
1 4 4
5 2 3
输出:
2
解释:
第 0 分钟开始,敌人的距离为 [1,4,4],第一个敌人距离基地最近,消灭了第一个敌人;
第 1 分钟开始,敌人的距离为[X,2,1],第三个敌人距离基地最近,消灭了第三个敌人;
第 2 分钟开始,敌人的距离为 [X,0,X],第二个敌人抵达基地,游戏结束。
击杀了 2 个敌人。
输入:
3
1 2 3
1 1 1
输出:
3
解释:
第 0分钟开始,敌人的距离为 [1,2,3],第一个敌人距离基地最近,消灭了第一个敌人;
第 1 分钟开始,敌人的距离为 [X,1,2],第二个敌人距离基地最近,消灭了第二个敌人;
第2分钟开始,敌人的距离为 [X,X,1],只剩下第三个敌人,消灭了第三个敌人。
击杀了 3个敌人。