Натхнення для цього коду гольф головоломки є проблема моста і факел , в якому г люди на початку моста все повинні перетнути його в найменшу кількість часу.
Зловживання полягає в тому, що максимум двоє людей можуть перетнутись одразу, інакше міст зруйнується під їхньою вагою, а група має доступ лише до одного факела, який потрібно перевезти, щоб перейти через міст.
У кожної людини в цілій головоломці є визначений час, який вона бере на прогулянку через міст. Якщо двоє людей перетинаються разом, пара йде так само повільно, як і найповільніша людина.
Немає встановленої кількості людей, які повинні перейти міст; ваше рішення ОБОВ'ЯЗКОВО працює над будь-яким значенням d .
Для цієї проблеми не потрібно використовувати стандартний ввід, але для пояснення проблеми я буду використовувати наступний формат вводу та виводу для пояснення. Перше число, d - це кількість людей на початку мосту. Потім код просканує на d числа, кожне з яких представляє швидкість людини.
Вихід коду буде ДІЛЬШИЙ час, необхідний для перетину всіх від початку мосту до кінця мосту, дотримуючись критеріїв, пояснених раніше.
Ось декілька вхідних та вихідних випадків та пояснення першого вхідного випадку. Ви повинні вивести алгоритм з цієї інформації, щоб вирішити проблему в найменших можливих байтах коду.
вхід
4
1 2 5 8
вихід
15
Щоб досягти цього результату, люди повинні перетнутись таким чином.
A and B cross forward (2 minutes)
A returns (1 minute)
C and D cross forward (8 minutes)
B returns (2 minutes)
A and B cross forward (2 minutes)
Ось ще один тестовий випадок, який допоможе вам на вашому шляху.
вхід
5
3 1 6 8 12
вихід
29
Правила:
- Припустимо, що введення не буде відсортовано, і ви повинні зробити це самостійно (якщо потрібно)
- Кількість людей у головоломці не визначено на рівні 4 (N> = 1)
- Кожна група та індивідуальний переїзд повинні мати факел. Є лише один факел.
- Кожна група повинна складатися з максимум 2 осіб!
- Ні, ви можете не зістрибнути з мосту і переплисти на інший бік. Жодних інших хитрощів, як це;).
1 4 5 6 7має подібну проблему. 25 проти 26
N >= 2людьми (це означає, як це не дивно, що для вирішення тривіального випадку "1 людина має перетнути" зайва робота), тому деякі уточнення з цього приводу були б чудовими. Заздалегідь спасибі.
1 3 4 5, які повинні повернутися 14, а не 15.