Ваше завдання полягає в підбитті та виведенні балів одного гравця в грі в 10-контактний боулінг після до 21 рулону .
Рулони представлені у вигляді послідовності цілих чисел у вашому бажаному способі введення . Кожне ціле число відповідає кількості штифтів, збитих у цьому рулоні.
Оцінка балів
Після кожного раунду кількість збитих в цьому раунді рахунків зараховується до остаточного рахунку. Якщо гравець збиває всі десять шпильок у першому рулоні раунду, це удар , і раунд закінчений. Інакше раунд триває ще один рулон. Якщо другий рулон раунду збиває всі шпильки, що залишилися, це запас .
За кожен удар є бонус, рівний сумі штирів, збитих у двох наступних рулонах. За кожну запасну частину є бонус, рівний кількості штифтів, збитих у наступному рулоні.
У 10-му та заключному раунді гравцеві можуть бути надані додаткові рулони: У разі удару гравцеві надається ще два рулони, щоб скласти свій бонус за страйк. У разі запасного, гравець отримує ще один рулон.
Приклади
Input: 4 3 8 2 7 1 10 7 3 0 10 2 2 10 10 5 4
Output: 131
Input: 10 10 9 1 7 3 2 7 10 1 9 10 7 1 10 10 10
Output: 183
Правила
- Ви можете припустити, що вхід є дійсним.
- Відповідно до коментаря Mego, я послабив вимоги до методів введення / виведення, щоб відповідати нашому чинному стандарту .
- Відповіді дозволені новими мовами, ніж виклик
- Найкоротший код виграє!
space separated integers
?