11875. Звʼязати мотузку 2


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Дано \(N\) мотузок різної довжини. Нам потрібно з'єднати ці мотузки в одну. Вартість з'єднання двох мотузок дорівнює сумі їх довжин.

Завдання - з'єднати мотузки з мінімальними витратами.

Масив \(A\) розмірності \(N\) містить довжини мотузок.

Формат вхідних даних

Перший рядок вхідного потоку містить ціле число \(N\).

Наступний рядок містить \(N\) цілих чисел \(A_i\).

Формат вихідних даних

У вихідний потік вивести відповідь.

Обмеження

\(1 \le N \le 2 \times 10^5\)

\(1 \le A_i \le 10^6\)

Примітка

1) Спочатку з’єднайте мотузки довжиною 2 і 3. Що створює масив {4, 5, 6}. Вартість цієї операції 2+3 = 5.

2) Тепер з’єднайте мотузки довжиною 4 і 5. Що створює масив {9, 6}. Вартість операції 4+5 = 9.

3) Нарешті з'єднайте дві мотузки і всі мотузки з'єдналися. Вартість цього операція 9+6 =15

Загальна вартість з’єднання всіх мотузок становить 5 + 9 + 15 = 29. Це оптиммальна вартість для з'єднання мотузок.

Приклад вхідних даних

4
4 3 2 6

Приклад вихідних даних

29

Коментарі

Ще немає коментарів.