1231: Калькулятор

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 10
Time limit: 1.0s
Memory limit: 64M

Author:
Problem types

В якості домашнього завдання з інформатики учням запропоновано розробити спеціальний калькулятор, який влаштований таким чином. Спочатку користувач вводить ціле додатне число n, яке виводиться на екран. Потім користувач може натискати на три кнопки: \(A, B, C\).
При натисканні на кнопку \(A\) число, яке виведено на екран, ділиться на 2. Якщо число на екрані непарне, то залишок відкидається. Наприклад, результат цієї операції для числа 80 дорівнює 40, а для числа 239 дорівнює 119. При натисканні на кнопку \(B\) до числа, яке виведено на екран, додається 1, і результат ділиться на 2. Залишок від ділення відкидається.

Наприклад, результат операції для числа 80 дорівнює 40, а для числа 239 дорівнює 120.

При натисканні на кнопку \(C\) відбувається наступне. Якщо число, яке виведено на екран, додатне, то з нього віднімається 1 і результат ділиться на 2, залишок відкидається. Якщо ж перед натисканням на кнопку \(C\) на екран було виведено число 0, то воно залишається незмінним.

Наприклад, результат операції для числа 80 дорівнює 39, а для числа 239 дорівнює 119.
Користувач ввів число n і збирається натиснути на кнопки операцій в деякому порядку. Зокрема, він планує натиснути на кнопку \(A\) сумарно \(a\) раз, на кнопку \(B\) - \(b\) раз і на кнопку \(C\) - \(c\) раз. Його зацікавило питання, яке мінімальне число може бути отримане в результаті виконання описаних операцій.

Потрібно написати програму, яка за введеним числом \(n\) і числам \(a, b, c\), які показують кількість проведених на калькуляторі операцій різного типу, визначає мінімальне число, яке може бути отримано в результаті роботи калькулятора.

Формат вихідних даних

У стандартному потоці міститься чотири цілих числа: \(n, a, b, c\) \((1 \le n \le 10^{18}, 0 \le a, b, c \le 60)\). Числа задані на одному рядку, сусідні числа розділені одним пропуском.

Формат вихідних даних

У стандартний потік вивести результат - мінімальне число, яке може бути отримано в результаті роботи калькулятора.

Приклад вхідних даних

72 2 1 1

Приклад вихідних даних

4

Пояснення

У прикладі користувачеві необхідно оптимально діяти в такий спосіб: натиснути на кнопку \(C\) і отримати число 36, потім натиснути на кнопку \(A\) і отримати число 18, потім натиснути на кнопку \(B\) і отримати число 8, потім другий раз натиснути на кнопку \(A\) і отримати число 4.


Коментарі

Ще немає коментарів.