М'ячі та контейнери
Сакурако — молода програмістка, яка працює над проєктом у сфері робототехніки.
Вона побудувала три розумні контейнери, кожен з яких спочатку має , та м'ячів відповідно. Контейнери призначені для передачі м'ячів один одному, і її завдання — написати програму, яка зробить кількість м'ячів у всіх трьох контейнерах однаковою.
Сакурако може наказати непорожньому контейнеру витягти один м'яч і передати його іншому. Однак їй цікаво дізнатися, чи можливо взагалі збалансувати контейнери, і якщо так, то скільки рухів це займе. Чи можете ви допомогти їй розробити ефективне рішення?
Припустимо, у неї є три контейнери; перший контейнер має м'яч, другий контейнер має м'ячі, а третій контейнер має м'яч. Нижче ви можете знайти ілюстрацію для такого прикладу.
Жовті стрілки показують м'яч, який ми беремо, і куди ми його кладемо. У цьому випадку ми виконуємо дві операції.
Вхідні дані
Єдиний рядок містить три цілі числа , та .
Вихідні дані
Якщо неможливо зробити кількість м'ячів у всіх трьох контейнерах однаковою, виведіть "-1
".
В іншому випадку виведіть мінімальну кількість рухів, необхідних для балансування м'ячів між контейнерами.
Приклади
Примітка
У другому прикладі можна показати, що неможливо розподілити кулі між контейнерами, як описано в умові.
У третьому прикладі всі контейнери порожні, що означає, що у всіх них однакова кількість куль; отже, вихідні дані дорівнюють нулю.
У четвертому прикладі ми можемо дотримуватися стратегії, описаної нижче:
що займає у нас рівно операцій. Ми можемо довести, що неможливо збалансувати контейнери менш ніж за операцій.
Оцінювання
Ви отримаєте щонайменше балів, якщо ваше рішення працює правильно для та ; тобто, другий і третій контейнери порожні.
Ви отримаєте щонайменше балів, якщо ваше рішення працює правильно для та .