values и три числа: cut, halves и cuts. С элементами можно делать два действия:
- **Деление**: заменить элемент на половину с округлением вверх (7 → 4, 8 → 4). Всего не больше halves делений.
- **Вычитание**: уменьшить элемент на cut, если он сейчас не меньше cut. Всего не больше cuts вычитаний.
К каждому элементу каждое действие применяется не больше одного раза, но оба действия к одному элементу — можно, в любом порядке.
Верните наименьшую возможную сумму массива.values=[6, 1, 10], cut=4, halves=1, cuts=1 → 8
Например, делим 10 пополам до 5 и вычитаем 4 из 6: получается [2, 1, 5], сумма 8.
values=[7], cut=3, halves=1, cuts=1 → 1
Порядок важен: сначала пополам (7 → 4), потом вычесть 3 (4 → 1). В обратном порядке вышло бы 7 → 4 → 2.
values=[2, 9], cut=10, halves=0, cuts=2 → 11
Оба числа меньше 10, вычитать нельзя, а делений нет. Сумма остаётся 11.
values=[6, 1, 10], cut=4, halves=1, cuts=1
8
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 255 тестов на сервере, включая скрытые.