P7404
求大佬帮改!!
#include <bits/stdc++.h>
#define N 10000100
using namespace std;
long long n;
long long s[N];
int a,b;
long long total=0;
void wa(int x,int y){
long long maxn=max(s[x-1],s[y+1]);
long long minn=min(s[x],s[y]);
long long k=maxn-minn+1;
total+=k;
}
void _find(){
int f=a;
for(int i=a+1;i<=b;i++){
if(s[i]<=s[i-1]){
a=i;
break;
}
}
for(int i=b-1;i>=f;i--){
if(s[i]<=s[i+1]){
b=i;
break;
}
}
if(a>b) cout<<total<<endl;
else if(a==b){
long long k=max(s[a-1],s[b+1])-s[a]+1;
total+=k;
cout<<total<<endl;
}
else{
wa(a,b);
_find();
}
}
int main(){
cin>>n;
a=1;
b=n;
for(int i=1;i<=n;i++) cin>>s[i];
_find();
return 0;
}