Submission

Status:
xxxxTxTxTx

Score: 0

User: Pera

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

Language: python

Time: 6.065 second

Submitted On: 2025-04-11 13:58:41

def trap(height: list[int]) -> int:
    max_left: list = [0] * len(height)
    max_left[0] = height[0]
    for i in range(1, len(height)):
        max_left[i] = max(height[i], max_left[i-1])
    
    max_right: list = [0] * len(height)
    max_right[-1] = height[-1]
    for i in range(len(height) - 2, -1, -1):
        max_right[i] = max(height[i], max_right[i+1])
        
    total: int = 0
    for i in range(1, len(height) - 1):
        water_level: int = min(max_left[i], max_right[i])
        total += max(0, water_level - height[i])
        
    return total

def main():
    area: int = int(input())
    height: list[int] = list(map(int, input().split()))

    print(trap(height))
    
main()