10806. Оптимально розділити
Відправити розв'язок
Бали:
100
Time limit:
1.5s
Memory limit:
500M
Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python
Дано масив з \(n\) чисел, ваше завдання полягає в тому, щоб розділити його на \(n\) підмасивів, кожен з яких має один елемент.
Під час кожного ходу ви можете вибрати будь-який підмасив і розділити його на два підмасиви. Вартість такого переміщення є сумою значень у вибраному підмасиві.
Яка мінімальна загальна вартість, якщо діяти оптимально?
Обмеження
- \(1≤n≤5000\)
- \(1≤x_i ≤10^9\)
Формат вхідних даних
У першому рядку вхідних даних є ціле число \(n\): розмір масиву. Елементи масиву пронумеровані \(1,2,…,n\).
У другому рядку міститься \(n\) цілих чисел \(x_1 ,x_2 ,…,x_n\) : елементи масиву.
Формат вихідних даних
Вивести одне ціле число: мінімальна загальна вартість.
Приклад вхідних даних
5
2 7 3 2 5
Приклад вихідних даних
43
Коментарі