1class Solution {2public:3int minStoneSum(vector<int> &piles, int k) {4priority_queue<int> pq;5int sum = 0, curr;67for (auto pile : piles) {8pq.push(pile);9sum += pile;10}1112while (k--) {13curr = pq.top();14pq.pop();15sum -= curr / 2;16pq.push(curr - curr / 2);17}1819return sum;20}21};