2208.cpp 560 B

12345678910111213141516171819202122
  1. #include <vector>
  2. #include <queue>
  3. #include <numeric>
  4. using namespace std;
  5. class Solution {
  6. public:
  7. int halveArray(vector<int>& nums) {
  8. priority_queue<double> pq(nums.begin(), nums.end());
  9. int res = 0;
  10. double sum = accumulate(nums.begin(), nums.end(), 0.0), sum2 = 0.0;
  11. while (sum2 < sum / 2) {
  12. double x = pq.top();
  13. pq.pop();
  14. sum2 += x / 2;
  15. pq.push(x / 2);
  16. res++;
  17. }
  18. return res;
  19. }
  20. };
备用站点 当前处于降级运行的备用站点,仅供应急访问,数据和功能可能不是最新。