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