atcoder#ABC256B. [ABC256B] Batters

[ABC256B] Batters

配点 : 200200

問題文

高橋君は野球をモチーフにしたゲームを作ろうとしましたが、うまくコードが書けなくて困っています。 高橋君の代わりに次の問題を解くプログラムを作ってください。

マス 00, マス 11, マス 22, マス 3344 つのマス目があります。はじめマスの上には何もありません。 また、整数 PP があり、はじめ P=0P = 0 です。 正の整数からなる数列 A=(A1,A2,,AN)A = (A_1, A_2, \dots, A_N) が与えられるので、i=1,2,,Ni = 1, 2, \dots, N について順番に次の操作を行います。

  1. マス 00 に駒を 11 個置く。
  2. マス上のすべての駒を番号が AiA_i 大きいマスに進める。言い換えると、駒がマス xx にあればその駒をマス x+Aix + A_i に移動する。
    ただし移動先のマスが存在しない (すなわち x+Aix + A_i44 以上になる) 駒たちに関しては、それらを取り除いて PP に取り除いた個数を加算する。

すべての操作を行った後の PP の値を出力してください。

制約

  • 1N1001 \leq N \leq 100
  • 1Ai41 \leq A_i \leq 4
  • 入力される値はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN

A1A_1 A2A_2 \dots ANA_N

出力

操作終了時点での PP の値を出力せよ。

4
1 1 3 2
3

操作を説明すると次のようになり、操作終了時点での PP の値は 33 になります。

  • i=1i=1 での操作 1. マス 00 に駒を置く。この時点でマス 00 にコマが乗っている。 2. すべての駒を 11 大きいマスに進める。移動を終えた時点でマス 11 に駒が乗っている。
  • i=2i=2 での操作 1. マス 00 に駒を置く。この時点でマス 0,10, 1 にコマが乗っている。 2. すべての駒を 11 大きいマスに進める。移動を終えた時点でマス 1,21, 2 に駒が乗っている。
  • i=3i=3 での操作 1. マス 00 に駒を置く。この時点でマス 0,1,20, 1, 2 にコマが乗っている。 2. すべての駒を 33 大きいマスに進める。 この時、マス 1,21,2 にある駒は移動先のマスが存在しないため (それぞれ 1+3=4,2+3=51+3=4,2+3=5 なので) 、盤上から取り除いて PP22 を加算する。PP の値は 22 になる。 移動を終えた時点でマス 33 に駒が乗っている。
  • i=4i=4 での操作 1. マス 00 に駒を置く。この時点でマス 0,30, 3 にコマが乗っている。 2. すべての駒を 22 大きいマスに進める。 この時、マス 33 にある駒は移動先のマスが存在しないため (3+2=53+2=5 なので) 、盤上から取り除いて PP11 を加算する。PP の値は 33 になる。 移動を終えた時点でマス 22 に駒が乗っている。
3
1 1 1
0

PP の値が操作中に変化しない場合もあります。

10
2 2 4 1 1 1 4 2 2 1
8