SP7741 BOI7SEQ - Sequence

题目描述

对于一个给定的序列 $a_1, …, an$ ,我们对它进行一个操作 $\text{reduce}(i)$ ,该操作将数列中的元素 $a_i$ 和 $a_{i+1}$ 用一个元素 $\max(a_i,a_{i+1})$ 替代,这样得到一个比原来序列短的新序列。这一操作的代价是 $\max(a_i,a_{i+1})$ 。进行 $n-1$ 次该操作后,可以得到一个长度为 $1$ 的序列。 我们的任务是计算代价最小的 $\text{reduce}$ 操作步骤,将给定的序列变成长度为 $1$ 的序列。

输入格式

第一行为一个整数 $n\ (1 \leq n \leq 1,000,000)$ ,表示给定序列的长度。 接下来的 $n$ 行,每行一个整数 $a_i\ (0 \leq a_i \leq 1,000,000,000)$ ,为序列中的元素。

输出格式

只有一行,为一个整数,即将序列变成一个元素的最小代价。 ## 输入输出样例 ### 输入#1 ``` 3 1 2 3 ``` ### 输出#1 ``` 5 ```

说明/提示

对于 $30\%$ 的测试数据 $n \leq 500$ ; 对于 $50\%$ 的测试数据 $n \leq 20,000$ 。