L. Триангуляция многоугольника
В вершинах выпуклого многоугольника написаны числа. Многоугольник разрезают диагоналями на треугольники; стоимость треугольника - произведение чисел в его вершинах. Найдите наименьшую суммарную стоимость.
Состояние - отрезок вершин по контуру. - наименьшая стоимость триангуляции многоугольника на вершинах .
Ребро входит ровно в один треугольник; переберём его третью вершину :
База: , вырожденный «многоугольник» из двух вершин ничего не стоит.
Обратите внимание, насколько это похоже на умножение матриц - и всё же не то же самое: там разрез шёл по промежуткам между матрицами, здесь по вершинам, и потому , а не . Такие сдвиги на единицу - главный источник ошибок во всей теме; выписывайте, что именно обозначает индекс.
При и числах до 100 ответ доходит до - помещается в 32 бита, но привычка считать в 64 дешевле.
Формат ввода
В первой строке - число () - количество вершин.
Во второй строке - чисел () в порядке обхода.
Формат вывода
Одно число - наименьшая стоимость триангуляции.
Примеры
3 1 2 3
6
4 1 2 3 4
18