Ctrl K

Снять половину нагрузки

Средняя
Серверы несут нагрузку loads (положительные числа). За одну операцию можно выбрать любой сервер и уменьшить его нагрузку ровно вдвое — результат может быть дробным, и тот же сервер можно выбирать снова. Верните наименьшее число операций, после которых суммарная нагрузка уменьшится хотя бы на половину от исходной.
Пример 1
loads=[6, 2, 2] → 3

Сумма 10, снять нужно хотя бы 5. 6 → 3 (снято 3), 3 → 1.5 (ещё 1.5), 2 → 1 (ещё 1): всего 5.5.

Пример 2
loads=[12] → 1

Одно деление пополам снимает ровно половину.

Пример 3
loads=[4, 4] → 2

Делим пополам каждую четвёрку: снято 2 + 2 = 4, ровно половина от 8.

Ограничения
  • 1 ≤ len(loads) ≤ 10⁵
  • 1 ≤ loads[i] ≤ 10⁷
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСтудии для записи СредняяЗадания с перерывом на остывание СредняяСерии подряд идущих чисел СредняяМетки вразнобой СредняяСращивание верёвок Средняя
загружаем Python…
Вход
loads=[6, 2, 2]
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 77 тестов на сервере, включая скрытые.