摘要:
Problem - 4546 题目是中文的,不解释了。 开始的时候不知道怎么可以搞出答案,就觉得这个是需要搜索的。于是就想到逐个数加上去,然后只取前m小的和,其余的弹出集合这种方法。为了可以动态维护这前m个最小的和,我用了multiset,又为了不会搜索到超出内存什么的,所以我在搜索的时候采取了剪枝,如果求和得到的数比现在集合中最大的数还要大,当前和跟之后的所有数的和都会大于集合中的最大数,这时就不用继续搜索下去了。(原始单个数的结合已进行排序)代码如下: 1 #include <cstdio> 2 #include <iostream> 3 #include < 阅读全文