Minimum Operations to Halve Array Sum LeetCode solution in C++
1class Solution {2public:3int halveArray(vector<int> &nums) {4priority_queue<double> pq;5double totalSum = 0;6double requiredSum = 0;7for (auto x : nums) {8totalSum += x;9pq.push(x);10}1112requiredSum = totalSum / 2;13int minOps = 0;14while (totalSum > requiredSum) {15double currtop = pq.top();16pq.pop();17currtop = currtop / 2;18totalSum -= currtop;19pq.push(currtop);20minOps++;21}22return minOps;23}24}