Оптимальное бинарное дерево поиска
Рассмотрим множество , состоящее из различных элементов таких, что . Рассмотрим бинарное дерево поиска, состоящее из элементов . Чем чаще производится запрос к элементу, тем ближе он должен располагаться к корню.
Стоимостью доступа к элементу из в дереве будем называть значение , равное числу ребер на пути, который соединяет корень с вершиной, содержащей элемент. Имея частоту запросов к элементам из , , определим общую стоимость дерева следующим образом:
Дерево, имеющее наименьшую стоимость, считается наилучшим для поиска элементов из . Именно поэтому оно называется Оптимальным Бинарным Деревом Поиска.
Входные данные
Состоит из нескольких тестов, каждый из которых расположен в отдельной строке. Первое число в строке указывает на размер множества . Следующие неотрицательных целых чисел описывают частоты запросов элементов из : .
Выходные данные
Для каждого теста в отдельной строке вывести стоимость Оптимального Бинарного Дерева Поиска.