Задача С: Тортики и свечки
Сегодня знаменательный день! В Межгалактическом Обществе Программистов сразу у n программистов день рождения! Поскольку программисты в этом обществе – очень дружный народ, они решили отпраздновать эти дни рождения все вместе.
Как известно, все разумные существа во вселенной в день рождения зажигают свечки на торте. Программисты зажигают свечки в соответствии с двоичной записью числа. Например, если программисту исполнилось 24 года, он втыкает в торт 5 свечек и зажигает только первые 2, поскольку 2410 = 110002, a если ему исполнилось 31, то придется зажечь все 5 свечек.
Программисты быстро заметили, что если свечка не была зажжена то ее можно вытащить из торта и воткнуть в следующий. Конечно, они не хотят расходовать лишних свечек и поэтому решили посчитать, в каком порядке стоит праздновать дни рождения, чтобы минимизировать их расход.
Поскольку общество межгалактическое, в нем есть индивиды самого разного возраста от 1 до 109 лет.
Напишите программу, которая определяет наименьшее количество свечек, которое потребуется, чтобы отпраздновать все дни рождения.
Формат входных данных
В первой строке находится одно число n (1 ≤ n ≤ 100) – количество программистов.
Во второй строке находится n чисел ai (1 ≤ ai ≤ 109) – сколько лет исполняется каждому программисту.
Формат результата
В единственной строке выведите одно целое число – минимальное количество свечек, которые придется потратить.
ПОМОГИТЕ ПОЖАЛУЙСТА!!!
Срочно!!!
Очень нужен ответ и как можно скорее
Answers & Comments
Ответ:
Вот тут есть норм ответ: https://www.cyberforum.ru/cpp-beginners/thread2910231.html
Объяснение: