M. Оптимальное бинарное дерево поиска
3000 мс · 256 МБ · всё или ничего
Даны различных элементов в возрастающем порядке и частоты обращений к ним . Стоимость доступа к элементу - количество рёбер на пути от корня до него. Общая стоимость дерева - сумма .
Найдите наименьшую возможную стоимость.
Обратите внимание: дерево должно быть деревом поиска, то есть порядок элементов задан жёстко. Просто положить самый частый элемент в корень нельзя - от этого зависит, какие элементы попадут налево, а какие направо.
Формат ввода
Каждая строка - отдельный тест: сначала число (), затем чисел ().
Сумма по всем тестам не превосходит 5000. Читать надо до конца файла.
Формат вывода
Для каждого теста в отдельной строке выведите стоимость оптимального дерева поиска.
Примеры
ввод
1 5 3 10 10 10 3 5 10 20
вывод
0 20 20
ввод
1 0
вывод
0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.