时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
题目背景:
在回音谷中,有一排魔法音符柱。每个音符柱有不同的高度(数字越大声音越响亮)。当你在山谷两端同时播放音乐时,神奇的事情发生了:音符柱会吸收能量,形成"回音能量"!
规则说明:
1.回音能量只会出现在两侧都有比他"高"的音符柱上
2.每个矮音符柱能存储的能量 = 它左右两侧最高音符柱中较矮的那个 - 它自身的高度
3.山谷两端的音符柱不会存储能量(因为有一侧没有邻居)
任务:
给定一排音符柱的高度,
计算整个山谷最多能存储多少回音能量。
输入描述:
第一行:音符柱数量 n,其中
第二行:长度为n的数组a表示从左到右的音符柱高度,保证数组
(
)
输出描述:
一个数字表示整个山谷所能存储的最大回音能量
示例1
输入
复制
12
0 1 0 2 1 0 1 3 2 1 2 1
说明
上面是由数组 【0 1 0 2 1 0 1 3 2 1 2 1】 表示的音符柱高度图,在这种情况下,整个山谷最多能存储6个单位的回音能量(蓝色部分表示回音能量)。