@
yuchting @
lirijie1 题目是“通关最少用多少钱?”,因此怪物出现顺序是理想的。如果怪物出现顺序确定的话。这题也就没意义了。
1.买 a 最高, b 最低的怪,这是最理想的情况。
2.如果 a 最高的怪, b 不是最低。那么通关最少用的钱数是不大于这个 b 的。因为直接买这个怪,肯定能通关。
因此先按 b 对怪进行排序,从小到大。
如果” a 最高的怪“位于第 1 或第 2 ,那毫无疑问,通关最少用的钱数就是 b[1],b[2]了。
若“ a 最高的怪”位于第 3 ,则需对第 1 和第 2 的怪的属性进行相加,比较相加的值和“ a 最高的怪”的属性值,若相加的值 a 较大,且 b 较小,就选相加的那一组合。否则选“ a 最高的怪”。
若“ a 最高的怪”位于第 4 ,则依次计算 b[1]+b[2],b[1]+b[3],b[2]+b[3],b[1]+b[2]+b[3],直到遇到 a 较“ a 最高的怪”大,且 b 较小为止,这时选对应的组合。或者直到遇到 b 较“ a 最高的怪”大为止,这时选“ a 最高的怪”。遍历完后还没有满足条件的,就选“ a 最高的怪”。
。。。。。。。。。。。