题目描述
译自 CCO 2023 Day1 T2「Real Mountains」。
在你的帮助下,Rebecca 的风景照登上了杂志封面,但部分读者认为照片中的山是假的。为了让读者信服,照片中的山必须满足“山峰”形态:存在某个下标 p(1≤p≤N),使得 $h_1 \leq h_2 \leq \cdots \leq h_p \geq \cdots \geq h_{N-1} \geq h_N$(前半段非递减,后半段非递增)。
Rebecca 可以通过编辑照片达到要求,编辑规则如下:
- 发送包含三个整数 (i,j,k) 的电子邮件,需满足 1≤i<j<k≤N 且 hi>hj<hk(j 是 i 和 k 之间的谷点);
- 编辑会将第 j 列的山高 hj 增加 1,费用为操作前的 hi+hj+hk;
- hj 的变化可能影响后续编辑的条件和费用。
你的任务是计算让照片满足山峰形态所需的最小费用 T。
输入格式
第一行包含一个整数 N(3≤N≤106),表示像素列数。
第二行包含 N 个用空格分隔的整数 h1,h2,…,hN(1≤hi≤109),表示初始时每列的山高。
输出格式
输出 T 对 106+3 取模的结果,其中 T 是最小总费用。
样例
输入
8
3 2 4 5 4 1 2 1
输出
14
样例解释
Rebecca 需执行两次编辑操作:
- 操作 (2,6,7):满足 h2=2>h6=1<h7=2,费用为 2+1+2=5,操作后 h6 变为 2;
- 操作 (1,2,5):满足 h1=3>h2=2<h5=4,费用为 3+2+4=9,操作后 h2 变为 3。
最终山高序列为 [3,3,4,5,4,2,2,1],满足 p=4 时的山峰形态(3≤3≤4≤5≥4≥2≥2≥1),总费用 5+9=14。
数据范围与提示
对于所有的数据,有 3≤N≤106,1≤hi≤109。
详细子任务附加限制及分值如下表所示:
| 子任务编号 |
分值 |
N 的范围 |
hi 的范围和限制 |
| 1 |
12 |
3≤N≤5000 |
1≤hi≤100;初始序列满足“山谷”形态(存在 p 使 $h_1 \geq h_2 \geq \cdots \geq h_p \leq \cdots \leq h_{N-1} \leq h_N$) |
| 2 |
3≤N≤106 |
1≤hi≤100 |
| 3 |
1≤hi≤106 |
| 4 |
1≤hi≤109 |
| 5 |
16 |
1≤hi≤100 |
| 6 |
20 |
1≤hi≤106 |
| 7 |
16 |
1≤hi≤109 |