摘要:
设置优先级队列{sum:当前和nex:加入下个元素的和ith:将要考虑的下个元素}以nex为优先级,小的先出队读入数据后排序,初始化队列第一个元素(0,a[0],0)每次出队一个元素,入队(sum,sum+a[ith],ith+1),(nex,nex+a[ith],ith+1),即是否加上a[ith]都考虑进去了。这样每次新加入的元素都是下一个最小的(nex),进行m次就得到了第m小。#include<stdio.h>#include<string.h>#include<stdlib.h>#include<algorithm>#include&l 阅读全文