【笔试题】刺客信条/Assassin’s Creed (阿里巴巴2020.08.26笔试第二题)
有一个刺客接了一个杀死怪物的任务,他有一把剑,耐久度为m,怪物一共有n个,它们分为两种,一种是不带剑的空手怪物,一种是带剑的怪物,不同的怪物有不同的血量,血量和刺客佩剑的耐久度对应,即杀死a点血的怪物需要消耗a点耐久度。如果杀死带剑的怪物,则可以拿走怪物的剑,怪物的剑比较特殊,它可以无视血量杀死任何一只怪物并且不损失刺客自己剑的耐久度,但是每杀死一个怪物它就会少一点耐久度,耐久度为0则报废。
该刺客对自己的要求很高,要求自己在能杀死更多的怪物的前提下,保证自己佩剑消耗的耐久度最低。
输入:
- n为总共的怪物数,m为刺客佩剑的耐久度;
- 每个怪物信息包含两个数(a, b), a是怪物的血量,b为怪物的剑的耐久度,a和b分别存在一个列表A和B中。
输出:
- 输出有两个数N、M,N为最终杀死的怪物数,M为刺客佩剑损耗的耐久度。
举例:
输入:
n = 3, m = 5
A = [5, 4, 7], B= [1, 1, 7]
输出:
N = 3, M = 4
1 | # 样例1 后面提供了更多的测试样例可供测试 |
1 | # 样例2 |