排队打水问题

#include<bits/stdc++.h>
using namespace std;
int n,k,a[10000],s=0;
priority_queue<int,vector<int>,greater<int> > pq;
int main() {
    cin>>n>>k;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=k;i++) pq.push(0);
    sort(a+1,a+n+1);
    for(int i=1;i<=n;i++){
        int p=pq.top()+a[i];
        s+=p;
        pq.pop();
        pq.push(p);
    }
    cout<<s<<endl;
    return 0;
}

 

上一篇:常用类--Date日期类,SimpleDateFormat日期格式类,Calendar日历类,Math数学工具类,Random随机数类


下一篇:数组的嵌套排序