凸多边形的划分
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

给定一个具有N个顶点的凸多边形,将顶点从1至N标号,每个顶点的权值都是一个正整数。将这个凸多边形划分成N-2个互不相交的三角形,试求这些三角形顶点的权值乘积和至少为多少。

输入描述:

输入第一行为顶点数N
第二行依次为顶点1至顶点N的权值。

输出描述:

输出仅一行,为这些三角形顶点的权值乘积和的最小值。
示例1

输入

复制
5
121 122 123 245 231

输出

复制
12214884

备注:

对于的数据,有,每个点权值小于