题目大意:

每次可以对区间[l,r]减1,问我们最少经过多少次操作可以把数列an全变为0.

解题思路:

一开始想用二分加线段树,发现线段树不会写。丢人

其实我们只用考虑相邻元素之间的差就可以了,因为假如本个元素比上一个小,那么其实这个元素要减的话,上一个元素已经帮你减掉了。假如本个元素比较大,对答案的贡献就是a[i]-a[i-1]

#include <bits/stdc++.h>
#define int long long
using namespace std;
int32_t main(){
int n;cin>>n;
int x=0;
int ans=0;
for(int i=0;i<n;i++){
int t;cin>>t;
if(t>x)ans+=(t-x);
x=t;
}
cout<<ans<<endl;
return 0;
}