En un mundo ficticio en 2D, un conjunto de instrucciones de impresión en 2D para un objeto se puede representar mediante una lista de enteros de la siguiente manera:
1 4 2 1 1 2 5 3 4
Cada número representa la altura del objeto en ese punto en particular. La lista anterior se traduce en el siguiente objeto cuando se imprime:
#
# # #
# ###
## ####
#########
Luego lo llenamos con la mayor cantidad de agua posible, lo que resulta en esto:
#
#~~~~#~#
#~~~~###
##~~####
#########
Definimos la capacidad del objeto para ser las unidades de agua que el objeto puede contener cuando está completamente lleno; en este caso, 11.
Estrictamente hablando, una unidad de agua ( ~) puede existir en una ubicación si y solo está rodeada por dos bloques sólidos ( #) en la misma fila.
Reto
Tome una lista de enteros positivos como entrada (en cualquier formato) y genere la capacidad del objeto impreso cuando la lista se usa como instrucciones.
Puede suponer que la lista contiene al menos un elemento y todos los elementos están entre 1 y 255.
Casos de prueba
+-----------------+--------+
| Input | Output |
+-----------------+--------+
| 1 | 0 |
| 1 3 255 1 | 0 |
| 6 2 1 1 2 6 | 18 |
| 2 1 3 1 5 1 7 1 | 7 |
| 2 1 3 1 7 1 7 1 | 9 |
| 5 2 1 3 1 2 5 | 16 |
| 80 80 67 71 | 4 |
+-----------------+--------+