In einer fiktiven 2D-Welt kann ein Satz von 2D-Druckanweisungen für ein Objekt durch eine Liste von Ganzzahlen wie folgt dargestellt werden:
1 4 2 1 1 2 5 3 4
Jede Zahl steht für die Höhe des Objekts an diesem bestimmten Punkt. Die obige Liste wird beim Drucken in das folgende Objekt übersetzt:
#
# # #
# ###
## ####
#########
Wir füllen es dann mit so viel Wasser wie wir können, was dazu führt:
#
#~~~~#~#
#~~~~###
##~~####
#########
Wir definieren die Kapazität des Objekts als die Wassereinheiten, die das Objekt halten kann, wenn es vollständig gefüllt ist. in diesem Fall 11.
Genau genommen kann eine Wassereinheit ( ~
) genau dann an einem Ort existieren, wenn sie von zwei festen Blöcken ( #
) in derselben Reihe umgeben ist.
Herausforderung
Nehmen Sie eine Liste positiver Ganzzahlen als Eingabe (in einem beliebigen Format) und geben Sie die Kapazität des Objekts aus, das gedruckt wird, wenn die Liste als Anweisung verwendet wird.
Sie können davon ausgehen, dass die Liste mindestens ein Element enthält und alle Elemente zwischen 1 und 255 liegen.
Testfälle
+-----------------+--------+
| 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 |
+-----------------+--------+