编程介的小学生 2017-10-24 08:06 采纳率: 20.5%
浏览 831
已采纳

addHP

问题描述 :

最近小白迷上了剑侠情缘,可惜不幸的是他千挑万选拜入了一个叫做“万花”的门派。事实上,这个门派的主要作用就是在别人受到伤害的时候,施展技能使得好友的生命值得以恢复。
可是万花的技能有一个缺陷,那就是玩家所谓的读条。
读条就是一个技能的施法时间,也就是说当我按下一个技能的操作之后,这个技能会在S秒之后才会被释放出来。
万花拥有数个加血技能,它们的施法时间和加血量也不尽相同。现在小白和大家一起去下副本,责任当然是负责照顾好MT(Main Tank)。根据小白多年来的经验,可以推算出BOSS每一次攻击对MT造成的伤害,小白希望你帮忙算一下MT是否能够存活下来,如果可以,那么怎么加血,才能使得MT的最低血量最高?(MT的血量一旦太低,会导致大家的惊恐,所以小白希望知道怎么加血才能让MT曾经被打击造成的血量最低值尽可能高一些)。
输入:

第一行输入三个数字 n和m,HP,n 代表BOSS的攻击次数,m代表万花的加血技能有多少个,HP代表MT初始状态下有多少血(此时HP为MT的上限)。
接下去n个数字,第i个数字代表BOSS在第i秒对MT造成多少伤害。
接下去m行数字,每行输入一个time和一个add;
Time代表技能如果在k时间开始读条,那么会在k + time时间完成效果
Add代表该技能可以恢复多少HP,但不允许超过MT的上限。
由于我们会偷袭BOSS,所以可以看做从0时间开始加血,而BOSS的伤害从1时间点才开始计算,但是BOSS得伤害会在加血技能之前被计算。

0 <= n ,m<= 10000 ,0 <= HP, time , add <=1000 ,

输出:

第一行输入三个数字 n和m,HP,n 代表BOSS的攻击次数,m代表万花的加血技能有多少个,HP代表MT初始状态下有多少血(此时HP为MT的上限)。
接下去n个数字,第i个数字代表BOSS在第i秒对MT造成多少伤害。
接下去m行数字,每行输入一个time和一个add;
Time代表技能如果在k时间开始读条,那么会在k + time时间完成效果
Add代表该技能可以恢复多少HP,但不允许超过MT的上限。
由于我们会偷袭BOSS,所以可以看做从0时间开始加血,而BOSS的伤害从1时间点才开始计算,但是BOSS得伤害会在加血技能之前被计算。

0 <= n ,m<= 10000 ,0 <= HP, time , add <=1000 ,

样例输入:

10 2 100
1 1 1 1 1 1 1 1 1 1
2 10
1 1
样例输出:

99

  • 写回答

2条回答 默认 最新

  • threenewbee 2017-11-06 14:02
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable