代码如下
#include<iostream>
using namespace std;
const int N=1e4+5;
long long h[N],s[N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>h[i];
s[i]=s[i-1]+h[i];
}
long long l=2,r=0,flag=0,maxn=h[2],area=0;
for(int i=3;i<=n-1;i++)
{
if(h[i]<maxn)
{
flag=1;
r=i;
}
else
{
r=i;
if(flag==1)
{
area+=(r-l-1)*min(maxn,h[i])-(s[r-1]-s[l]);
l=r;
flag=0;
maxn=max(maxn,h[i]);
}
else
{
maxn=max(maxn,h[i]);
l=i;
}
}
}
cout<<area;
}