Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Phat12

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

Language: cpp

Time: 0.003 second

Submitted On: 2025-09-23 11:39:37

/*
TASK: su67_flood.cpp
LANG: Cpp
AUTHOR: Phat
*/
#include <bits/stdc++.h>
#define FO(i,L,R) for (int i = L; i < R; i++)
const int N = 10010;
int mxleft[N],mxright[N];
int arr[N];
using namespace std;
int main(){
    cin.tie(nullptr)->sync_with_stdio(false);
    int n;
    cin >> n;
    for (int i=1;i<=n;i++){
        cin >> arr[i];
    }
    for (int i=1;i<=n;i++){
        mxleft[i] = max(mxleft[i-1],arr[i]);
    }
    for (int i=n;i>0;i--){
        mxright[i] = max(mxright[i+1],arr[i]);
    }
    int sum=0;
    for (int i=1;i<=n;i++){
        int x=min(mxleft[i],mxright[i])-arr[i];
        sum+= ((x>0)? x : 0);
    }
    cout << sum;
    return 0;
}