#include<iostream>
using namespace std;
int main() {
int n;
cin>>n;
int high[n];
for(int a=0; a<n; a++) {
cin>>high[a];
}
int h1,h2=-1,h3=-1,h3p=-1,total=0;
for(int a=1; a<n-1; a++) {
if(high[a]<=high[a-1]) {
h1=a-1;
for(int b=a; b<n-1; b++) {
if(h3<high[b]) {
h3=high[b];
h3p=b;
}
if(high[h1]<=high[b]) {
h2=b;
break;
}
}
if(h2!=-1) {
for(int b=a; b<h2; b++) {
total+=high[h1]-high[b];
}
a=h2;
} else {
if(h3p==-1) {
continue;
} else {
for(int b=a; b<h3p; b++) {
total+=high[h3p]-high[b];
}
a=h3p;
}
}
}
}
cout<<total;
}
如上,通过的几个都是3~7ms就过了,检查了半天都没啥结果。