eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Перетворення масивів

Перетворення масивів

У нас є масив додатаніх чисел. Ми повинні перетворити цей масив повторюючи одну й ту ж операцію, доки не залишиться менше двох елементів у масиві: \begin{enumerate} \item вибрати два елементи, які мають мінімальну абсолютну різницю. Якщо таких пар декілька, то вибрати пару, чия сума елементів мінімальна. Якщо все ж залишилось декілька пар, то вибрати довільну. \item зменшити значення елементів вибраної пари на \textbf{1}. \item видалити нульові елементи масиву. \end{enumerate} Легко помітити, що процес закінчиться через фіксовану кількість кроків. Наприклад, маємо масив з \textbf{4} елементів \{\textbf{3}, \textbf{2}, \textbf{3}, \textbf{2}\}. Процес перетворення буде відбуватись наступним чином: \begin{itemize} \item Крок \textbf{1}: \{\textbf{3}, \textbf{2}, \textbf{3}, \textbf{2}\} => \{\textbf{3}, \textbf{1}, \textbf{3}, \textbf{1}\} (зменшуємо елементи \textbf{2} і \textbf{2}) \item Крок \textbf{2}: \{\textbf{3}, \textbf{1}, \textbf{3}, \textbf{1}\} => \{\textbf{3}, \textbf{3}\} (чергове зменшення значень елементів робить їх рівними \textbf{0} і \textbf{0}, видаляємо їх) \item Крок \textbf{3}: \{\textbf{3}, \textbf{3}\} => \{\textbf{2}, \textbf{2}\} \item Крок \textbf{4}: \{\textbf{2}, \textbf{2}\} => \{\textbf{1}, \textbf{1}\} \item Крок \textbf{5}: \{\textbf{1}, \textbf{1}\} => \{ \} \end{itemize} Отримали пустий масив. Необхідно взнати кількість кроків перетворення. \InputFile В одному рядку записано послідовність чисел, відокремлених між собою комою і пропуском. Після останнього числа стоїть крапка. Розмір масиву від \textbf{1} до \textbf{50}, кожен елемент може приймати значення від \textbf{1} до \textbf{1000}. \OutputFile Кількість кроків перетворення даного масиву.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
3, 2, 3, 2.
Вихідні дані #1
5