第一条题解!
2025-08-16 20:48:54
发布于:浙江
10阅读
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;
}
这里空空如也





有帮助,赞一个