算法
从左向右贪心,如果左边高于右边,那么操作左边的时候完全够把右边操作好了,如果左边低于右边,那么操作左边时也操作右边,之后右边再单独操作两者得高度差。
时间复杂度
$$O(n)$$
C++ 代码
#include <iostream>
using namespace std;
int a[100010],n,res;
int main(){
cin>>n;
for(int i=1;i<=n;++i) cin>>a[i];
for(int i=1;i<=n;++i){
if(a[i-1]<a[i]) res+=a[i]-a[i-1];
}
cout<<res;
return 0;
}