Files
leetcode/23/07/2208.cpp
2025-09-15 21:12:04 +08:00

22 lines
560 B
C++

#include <vector>
#include <queue>
#include <numeric>
using namespace std;
class Solution {
public:
int halveArray(vector<int>& nums) {
priority_queue<double> pq(nums.begin(), nums.end());
int res = 0;
double sum = accumulate(nums.begin(), nums.end(), 0.0), sum2 = 0.0;
while (sum2 < sum / 2) {
double x = pq.top();
pq.pop();
sum2 += x / 2;
pq.push(x / 2);
res++;
}
return res;
}
};