#!/usr/bin/python3 # 1. Načteme vstup N = int(input()) # Volání input().split() nám rozdělí načtený řádek podle mezer, ale jsou to # pořád stringy (řetězce) -> protože chceme výšky jako čísla, tak zavoláme # na každém prvku funkci int vysky = list(map(int, input().split())) # 2. Spočítáme hladinu zleva a zprava # Vyrobíme si pole nul dlouhá N zleva = [0] * N zprava = [0] * N maxZleva = 0 maxZprava = 0 for i in range(N): # i-tý sloupec zleva maxZleva = max(maxZleva, vysky[i]) zleva[i] = maxZleva # i-tý sloupec zprava j = N - i - 1 maxZprava = max(maxZprava, vysky[j]) zprava[j] = maxZprava # 3. Spojíme výšky hladin zleva a zprava hladina = [0] * N for i in range(N): hladina[i] = min(zleva[i], zprava[i]) # 4. Spočítáme obsaženou vodu vody = 0 for i in range(N): vody += hladina[i] - vysky[i] print(vody)