Ви збираєтесь брати участь у ігровому шоу. Один із викликів працює наступним чином:
- Перша кімната містить велику кількість однакових куль.
- Друга кімната містить ряд жолобів, у кожному з яких є датчик, який підраховує, скільки кульок було розміщено в ній. Куля, поміщена в жолоб, потім неможливо отримати.
- Кожен жолоб спрацьовує після того, як у нього поміститься певна кількість кульок (його кількість спускових гачок ). Коли вона спрацьовує, вона спалахує вогнями, видає шум і не залишає вас сумнівів у тому, що воно спрацювало.
- Ви повинні запустити
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