В вымышленном 2D-мире набор инструкций 2D-печати для объекта может быть представлен в виде списка целых чисел следующим образом:
1 4 2 1 1 2 5 3 4
Каждое число представляет высоту объекта в этой конкретной точке. Приведенный выше список преобразуется в следующий объект при печати:
#
# # #
# ###
## ####
#########
Затем мы наполняем его как можно большим количеством воды, что приводит к следующему:
#
#~~~~#~#
#~~~~###
##~~####
#########
Мы определяем способность объекта быть единицами воды, которую объект может удерживать, когда он полностью заполнен; в этом случае 11.
Строго говоря, единица воды ( ~
) может существовать в месте, если и только если она окружена двумя сплошными блоками ( #
) в одной строке.
Вызов
Возьмите список положительных целых чисел в качестве входных данных (в любом формате) и выведите емкость объекта, напечатанного, когда список используется в качестве инструкций.
Можно предположить, что список содержит хотя бы один элемент, и все элементы находятся в диапазоне от 1 до 255.
Тестовые случаи
+-----------------+--------+
| 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 |
+-----------------+--------+