Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: anonymous

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

Language: cpp

Time: 0.002 second

Submitted On: 2026-10-10 16:20:22

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    int n; 
    cin >> n;
    vector<int> h(n);
    for(int &i : h)cin >> i;
    
    vector<int> lmax(n), rmax(n);
    
    lmax[0] = h[0];
    for(int i=1;i<n;i++)lmax[i] = max(lmax[i-1] , h[i]);
    
    rmax[n-1] = h[n-1];
    for(int i=n-2;i>=0;i--)rmax[i] = max(rmax[i+1] , h[i]);
    
    int water = 0;
    
    for(int i=0;i<n;i++)water += min(lmax[i],rmax[i]) - h[i];

	cout << water;
    return 0;
}