積み木の水槽 〜 横へな 2013.9.6

問題

立方体のブロックと2枚のアクリル板(前後の板)を使って水を入れる容れ物を作る。
こんな感じ。

図の茶色いマスがブロック。青いのところに水がたまっている。
この例の場合、図を見て分かる通り、水は 24 マスある。 ブロックの配置を指定するので、水が入る量をマス目の数で答えよ。

入力と出力

入力文字列は 83141310145169154671122 のようになっている。各数字は左から順のブロックの数を示している。この例だと、左端には 8 個、次の列には 3 個、右端の列には 2 個のブロックが積んである。

出力も単なる整数を文字列にしたもので、 24 のような文字列を出力すればよい。

補足

サンプルデータ

# 入力 期待 状況
0 83141310145169154671122 24
1 923111128 45
2 923101128 1
3 903111128 9
4 3 0
5 31 0
6 412 1
7 3124 3
8 11111 0
9 222111 0
10 335544 0
11 1223455321 0
12 000 0
13 000100020003121 1
14 1213141516171819181716151413121 56
15 712131415161718191817161514131216 117
16 712131405161718191817161514031216 64
17 03205301204342100 1
18 0912830485711120342 18
19 1113241120998943327631001 20
20 7688167781598943035023813337019904732 41
21 2032075902729233234129146823006063388 79
22 8323636570846582397534533 44
23 2142555257761672319599209190604843 41
24 06424633785085474133925235 51
25 503144400846933212134 21
26 1204706243676306476295999864 21
27 050527640248767717738306306596466224 29
28 5926294098216193922825 65
29 655589141599534035 29
30 7411279689677738 34
31 268131111165754619136819109839402 102

C/C++/Java 用のテストデータ