思路:找最高的和最低的跳
#include <bits/stdc++.h>
using namespace std;
int n,a[310],hn;
long long sum;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
if(i==n){
sum+=(a[i]-hn)*(a[i]-hn);
}else{
if(a[i]>a[i+1]&&a[i]>a[i-1]){
sum+=(a[i]-hn)*(a[i]-hn);
hn=a[i];
}else if(a[i]<a[i+1]&&a[i]<a[i-1]){
sum+=(a[i]-hn)*(a[i]-hn);
hn=a[i];
}
}
}
cout<<sum;
return 0;
}