#P4393. 序列代价

序列代价

题目描述

对于一个给定的序列 a1,,ana _ 1, \cdots, a _ n,我们对它进行一个操作 reduce(i)\text{reduce}(i),该操作将数列中的元素 aia _ iai+1a _ {i+1} 用一个元素 max(ai,ai+1)\max(a _ i,a _ {i+1}) 替代,这样得到一个比原来序列短的新序列。这一操作的代价是 max(ai,ai+1)\max(a _ i,a _ {i+1})。进行 n1n-1 次该操作后,可以得到一个长度为 11 的序列。

我们的任务是计算代价最小的 reduce\text{reduce} 操作步骤,将给定的序列变成长度为 11 的序列。

输入格式

第一行为一个整数 nn1n1061 \leq n \leq 10 ^6),表示给定序列的长度。

接下来的 nn 行,每行一个整数 aia _ i0ai1090 \leq a _ i \leq 10 ^ 9),为序列中的元素。

输出格式

只有一行,为一个整数,即将序列变成一个元素的最小代价。

3
1
2
3
5

提示

数据规模与约定

  • 对于 30%30\% 的测试数据,n500n\le 500
  • 对于 50%50\% 的测试数据,n20000n \le 20000
  • 对于 100%100\% 的测试数据,1n1061 \le n \le 10^60ai1090 \le a_i \le 10^9