Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: meme_boi2

Problemset: ปริมาตรน้ำท่วม

Language: cpp

Time: 0.002 second

Submitted On: 2025-11-01 22:48:45

#include <bits/stdc++.h>
using namespace std;
int32_t main(){
    cin.tie(nullptr)->sync_with_stdio(0);
    int n; cin >> n;
    vector<int> mat(n);
    for(auto &x: mat) cin >> x;
    vector<int> dp1(n,INT_MIN),dp2(n,INT_MIN);
    dp1[0] = mat[0], dp2[n-1] = mat[n-1];
    for(int i = 1;i < n; i++) dp1[i] = max(dp1[i-1],mat[i]);
    for(int i = n-2; i >= 0; i--) dp2[i] = max(mat[i],dp2[i+1]);
    int ans = 0;
    //for(auto x: dp1) cout << x << ' '; cout << '\n';
   // for(auto x: dp2) cout << x << ' '; cout << '\n';
    for(int i = 1;i < n-1; i++){
        ans += min(dp1[i],dp2[i])-mat[i];
        //cout << ans << '\n';
        //cout << dp1[i+1] << ' '  << dp2[i-1] << ' '<< '\n';
    }
    cout << ans;
}