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;
}