Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: chs_14

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

Language: cpp

Time: 0.002 second

Submitted On: 2026-08-18 21:58:18

#include <bits/stdc++.h>
using namespace std;

int main() {
    cin.tie(0)->sync_with_stdio(false);

    int n, ans=0;
    cin >> n;
    vector<int> area(n, 0), left(n, 0), right(n, 0);
    for (int i = 0; i < n; i++)
    {
        cin >> area[i];
    }
    left[0] = area[0];
    right[n-1] = area[n-1];
    for (int i = 1; i < n; i++)
    {
        left[i] = max(left[i-1], area[i]);
    }
    for (int i = n-2; i>=0; i--)
    {
        right[i] = max(right[i+1], area[i]);
    }
    for (int i = 0; i < n; i++)
    {
        ans+=min(left[i], right[i])-area[i];
    }
    cout << ans;

    return 0;
}