mirror of
https://git.wolves.top/wolves/leetcode.git
synced 2025-11-05 01:36:32 +08:00
22 lines
560 B
C++
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;
|
|
}
|
|
}; |