Вы собираетесь участвовать в игровом шоу. Одна из задач работает следующим образом:
- Первая комната содержит большое количество одинаковых шаров.
- Вторая комната содержит серию желобов, каждый из которых имеет датчик, который подсчитывает, сколько шариков было помещено в него. Мяч, помещенный в желоб, не может быть восстановлен.
- Каждый желоб будет срабатывать после того, как в него будет помещено определенное количество шариков ( количество срабатываний ). Когда он срабатывает, он мигает светом, издает шум и не оставляет никаких сомнений в том, что он сработал.
- Вы должны активировать
N
желоба, чтобы перейти к следующему вызову. - Вы знаете количество триггеров, но не соответствие между количеством и желобом.
- У вас есть одна возможность забрать шары из первой комнаты во вторую. После того, как вы положили мяч в желоб, вы не сможете вернуться за другими шарами.
- Каждый мяч, который вы берете, вычитает деньги из джекпота.
Очевидно, вы хотите убедиться, что вы пройдете испытание, но вы хотите минимизировать потерю джекпота. Напишите программу, функцию, глагол и т. Д., Чтобы сказать, сколько шариков вам нужно.
пример
Предположим, что количество триггеров равно 2, 4 и 10, и вам нужно запустить 2 парашюта для прохождения. Существует стратегия прохождения с 10 шарами: поместите до 4 шаров в первый желоб, до 4 шаров во второй желоб и до 4 шаров в третий желоб. Поскольку один из трех желобов сработает только после 2 шаров, вы используете всего 10 баллов. Не существует стратегии, которая гарантированно работала бы с менее чем 10, так что это правильный выход.
вход
Входные данные состоят из массива целых количеств триггеров и целого числа, дающего количество парашютов для запуска. Вы можете взять два входа в любом порядке, а при необходимости вы можете взять третий вход с длиной массива.
Вы можете предположить, что все входы больше нуля, и что количество лотков, которые должны быть запущены, не превышает количество лотков.
Вы также можете предположить, что счетчик отсортирован (по возрастанию или по убыванию), если вы четко указали это в своем ответе.
Выход
Вывод должен быть одним целым числом, дающим количество шаров, необходимое для оптимальной стратегии.
Контрольные примеры
Формат: N counts solution
1 [2 4 10] 6
2 [2 4 10] 10
3 [2 4 10] 16
1 [3 5 5 5 5 5 5 5 5 5] 5
2 [1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 8 11] 8
2 [1 2 6 6 6 6 6 6 6 10] 16
2 [1 2 3 3 4 4 6 6 6 11] 17
3 [1 2 3 4 5 5 6] 16
3 [2 4 7 7 7 7 7 7 7] 21
5 [1 2 2 3 3 3 3 3 5 9 9 11] 27
2 [5 15 15] 25
1 [4 5 15] 10
3 [1 4 4 4] 10
2 [1 3 4] 6
2 [1 3 3 8] 8