ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

2078. Игра в боулинг

Ограничение времени: 2.0 секунды
Ограничение памяти: 256 МБ
Все асоциальные команды не общаются друг с другом одинаково, каждая сплочённая команда укрепляет командный дух по-своему. Оля, Егор и Олег, например, ходят играть в боулинг. Эта история о том, как они впервые взяли с собой своего тренера Дениса.
Денис не привык к дружным командам и примитивному веселью, так что бросать шары ему не очень хотелось. Когда оказалось, что не работает система подсчёта очков, Денис с радостью вызвался считать их на бумажке.
«Что может быть проще?» – думал Денис, – «Нужно записать, сколько всего кеглей игрок сбил в каждом туре. Параллельно с этой рутинной работой можно придумать пару задач для следующей тренировки».
Он ещё никогда так не ошибался! В конце игры оказалось, что правила начисления очков в боулинге не сводятся к простому подсчёту суммы сбитых кеглей, более того по числу сбитых кеглей количество набранных очков не восстанавливается. Олег, Оля и Егор стали наперебой рассказывать Денису правила игры: страйки, спэры, дополнительный бросок в последнем раунде... Денис кивал и думал: «А что, неплохая задача получается». Он предложил команде посчитать минимальное и максимальное количество очков, которое мог набрать каждый игрок. Нужно ли говорить, что Егор, Олег и Оля без труда справились с этой задачей. Теперь ваша очередь.
Ниже приведены правила начисления очков в боулинге.
  1. Игра состоит из 10 фреймов (раундов), в каждом из фреймов можно заработать до 30 очков.
  2. В каждом фрейме, кроме последнего, нужно сбить 10 кеглей за два броска. Если это удаётся сделать за один бросок, то второй бросок не используется.
  3. В последнем фрейме изначально также нужно сбить 10 кеглей за два броска. Если это удаётся сделать, то даётся дополнительный (третий) бросок. Все имеющиеся броски используются всегда, то есть если все кегли сбиты, а ещё есть броски, то выставляются новые 10 кеглей. За такие 10 кеглей в случае их сбивания дополнительные броски не даются.
  4. За каждую сбитую кеглю даётся одно очко.
  5. Если игрок делает страйк (сбивает все кегли за один бросок) в любом фрейме, кроме последнего, то при подсчёте очков за этот фрейм ему начисляется по дополнительному очку за каждую сбитую кеглю в следующих двух бросках игры.
  6. Если игрок делает спэр (сбивает все кегли за два броска) в любом фрейме, кроме последнего, то при подсчёте очков за этот фрейм ему начисляется по дополнительному очку за каждую сбитую кеглю в следующем броске игры.

Исходные данные

В единственной строке даны 10 чисел через пробел — количество кеглей, сбитых игроком в каждом из 10 фреймов. Первые девять чисел могут принимать значения от 0 до 10, а последнее — от 0 до 30.

Результат

Выведите через пробел минимальное и максимальное количество очков, которое мог заработать этот игрок по результатам описанной на входе игры.

Примеры

исходные данныерезультат
10 2 4 8 3 8 1 9 8 7
60 62
2 4 6 8 10 10 8 6 4 2
60 86
Автор задачи: Александр Красносельских, подготовка — Олег Долгоруков