思路:逆向思维差分(转化结论在图中),然后贪心,
b1+…bn+1的和为0,即差分数组的正数和负数和为0,每次可以找一个正数减一,负数加一,使得贪心的找到最小的操作次数
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int b[N],h[N];
typedef long long ll;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++) cin>>h[i];
for(int i=1;i<=n+1;i++) b[i]=h[i]-h[i-1];
ll res=0;
for(int i=1;i<=n+1;i++){
if(b[i]>0){
res+=b[i];
}
}
cout<<res<<endl;
}