Priority queue(!)


#1
int Solution::solve(vector<int> &A, int B) {
    priority_queue<int> q;
    for(int i:A)    q.push(i);
    int ans = 0;
    while(B--){
        int x= q.top();
        q.pop();
        ans+= x--;
        q.push(x);
    }    return ans;
}