Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Решите пожалуйста задачу на python 3

Катя Анисимова Ученик (98), открыт 3 недели назад
Летом гимназистка Вера планирует посетить достопримечательности Тридевятого царства на автомобиле в стиле дизельпанк. Самое сложное в дизельпанке – это пуск двигателя машины.


Дизельный двигатель имеет N цилиндров. В начальный момент времени все поршни в цилиндрах двигателя находятся на нулевой отметке h0 = 0. Из уроков информатики в гимназии Вера знает, чтобы осуществить пуск дизеля необходимо установить каждый поршень в цилиндре на заданную высоту hi.

Из инструкции к дизелю Вера поняла, что может использовать только две операции для установки поршней в цилиндрах на заданную пусковую высоту.


Операция инкремента – увеличивает значение высоты одного любого поршня в цилиндре на 1.
Операция двойного увеличения – удваивает значение высоты поршня в каждом из выбранных цилиндров.

Например, для второй операции можно выбрать все цилиндры, а можно взять всего один или два цилиндра дизеля для удваивания высоты поршня в них.

Помогите гимназистке запустить двигатель. Найдите минимальное количество ходов, необходимое для установки поршней в цилиндрах двигателя на рекомендуемую для пуска дизеля высоту.
Формат ввода
В первой строке N (1 ≤ N ≤ 105) – количество цилиндров дизеля.
Во второй строке hi (0 ≤ hi ≤ 109) – рекомендованное положение каждого поршня в цилиндрах для пуска дизеля.

Формат вывода
Минимальное количество ходов для пуска дизеля по инструкции.

Пример 1
Ввод
4
3 8 6 5
Вывод
10
1 ответ
Алекс Куха Высший разум (461624) 3 недели назад
У меня для теста получилось
 4  1 для 1234: 1111  
5 2 для 1234: 2222
6 2 для 24: 2424
7 1 для 1: 3424
8 1 для 4: 3425
9 1 для 3: 3435
10 2 для 23: 3865
Похожие вопросы