第一条题解!
2025-08-16 20:48:54
发布于:浙江
1阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5+10;
int a[N];
int preMax[N],sufMax[N];
int main(){
int n;
cin >> n;
for(int i = 1;i <= n;i++){
cin >> a[i];
}
for(int i = 1;i <= n;i++){
preMax[i] = max(preMax[i-1],a[i]);
}
for(int i = n;i >= 1;i--){
sufMax[i] = max(sufMax[i+1],a[i]);
}
long long ans = 0;
for(int i = 2;i <= n-1;i++){
long long maxL = preMax[i-1];
long long maxR = sufMax[i+1];
ans += max(0LL , min(maxL,maxR)-a[i]);
}
cout << ans;
return 0;
}
这里空空如也
有帮助,赞一个