e-olymp
Задачи

Добавить все

Добавить все

Условие задачи отражает Вашу задачу: необходимо просто сложить числа. Но это будет унизительно если Вас попросят просто написать такую программу на языке C/C++ для заданного множества чисел. Давайте внесем в задачу оттенок изобретательности.

Введем понятие стоимости для операции сложения. Стоимость сложения двух чисел положим равным их сумме. Например, сложить числа 1 и 10 стоит 11. Стоимость сложения 1, 2 равна 3. Складывать числа можно разными способами:

  • 1 + 2 = 3 (стоимость = 3), 3 + 3 = 6 (стоимость = 6), Всего = 9
  • 1 + 3 = 4 (стоимость = 4), 2 + 4 = 6 (стоимость = 6), Всего = 10
  • 2 + 3 = 5 (стоимость = 5), 1 + 5 = 6 (стоимость = 6), Всего = 11

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

Входные данные

Начинаются целым числом n (2n100000), за которым следуют n целых неотрицательных чисел (все числа меньше 100000).

Выходные данные

Вывести наименьшую стоимость сложения всех чисел.

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
3
1 2 3
Выходные данные #1
9
Входные данные #2
4
1 2 3 4
Выходные данные #2
19