mirror of
				https://git.wolves.top/wolves/leetcode.git
				synced 2025-11-04 09:16: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;
 | 
						|
        }
 | 
						|
}; |