小红书笔试,自闭,第四题超时,求大佬指点

薯队长来到了迷宫的尽头,面前出现了N只魔物,Hi表示第i只魔物的血量,薯队长需要在T个回合内击败所有魔物才能获胜。每个回合薯队长可以选择物理攻击一只魔物,对其造成1点伤害(物理攻击次数无上限);  或者消耗1点法力释放必杀技对其造成固定X点伤害(薯队长开始拥有M点法力)。问X至少多大,薯队长才有机会获胜;如果无论如何都无法在T回合内获胜,则输出-1

输入

第一行三个整数分别表示:N T M

第二行有N个整数:H1 H2 H3 … HN

对于50%的数据:

0 < N < 10^3

0 < T < 10^3

0 <= M <= T

0 < Hi < 10^4

对于100%的数据

0 < N < 10^5

0 < T < 10^7

0 <= M <= T

0 < Hi < 10^7

输出

输出一个整数,表示必杀技一次最少造成多少固定伤害


样例输入
3 4 3
5 2 1
样例输出
3

提示
第1回合消耗1点法力,对魔物1造成3点伤害。
第2回合消耗1点法力,对魔物1造成3点伤害,击杀。
第3回合消耗1点法力,对魔物2造成3点伤害,击杀。
第4回合攻击魔物3造成1点伤害,击杀。

我的代码如下:思路: 预设速度最小值为0,最大值为 魔物中最高血量,利用二分查找寻找这个必杀技伤害x,用一个大顶堆维持这个数组,每次循环血最多boss血量减去x.   
#小红书##笔试题目#
全部评论
计算的时候可以不用一次一次的减,就应该可以了吧
点赞 回复 分享
发布于 2019-08-18 17:13
同问,我也做到了这个题
点赞 回复 分享
发布于 2019-08-23 22:34

相关推荐

不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
小红书 后端开发 总包n+8w+期权
点赞 评论 收藏
分享
11-01 08:48
门头沟学院 C++
伤心的候选人在吵架:佬你不要的,能不能拿户口本证明过户给我。。球球了
点赞 评论 收藏
分享
爱看电影的杨桃allin春招:我感觉你在炫耀
点赞 评论 收藏
分享
评论
点赞
14
分享
牛客网
牛客企业服务