AT_abc256_b [ABC256B] Batters
Description
[problemUrl]: https://atcoder.jp/contests/abc256/tasks/abc256_b
> 高橋君は野球をモチーフにしたゲームを作ろうとしましたが、うまくコードが書けなくて困っています。
> 高橋君の代わりに次の問題を解くプログラムを作ってください。
マス $ 0 $, マス $ 1 $, マス $ 2 $, マス $ 3 $ の $ 4 $ つのマス目があります。はじめマスの上には何もありません。
また、整数 $ P $ があり、はじめ $ P\ =\ 0 $ です。
正の整数からなる数列 $ A\ =\ (A_1,\ A_2,\ \dots,\ A_N) $ が与えられるので、$ i\ =\ 1,\ 2,\ \dots,\ N $ について順番に次の操作を行います。
1. マス $ 0 $ に駒を $ 1 $ 個置く。
2. マス上のすべての駒を番号が $ A_i $ 大きいマスに進める。言い換えると、駒がマス $ x $ にあればその駒をマス $ x\ +\ A_i $ に移動する。
ただし移動先のマスが存在しない (すなわち $ x\ +\ A_i $ が $ 4 $ 以上になる) 駒たちに関しては、それらを取り除いて $ P $ に取り除いた個数を加算する。
すべての操作を行った後の $ P $ の値を出力してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $
Output Format
操作終了時点での $ P $ の値を出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 100 $
- $ 1\ \leq\ A_i\ \leq\ 4 $
- 入力される値はすべて整数
### Sample Explanation 1
操作を説明すると次のようになり、操作終了時点での $ P $ の値は $ 3 $ になります。 - $ i=1 $ での操作 1. マス $ 0 $ に駒を置く。この時点でマス $ 0 $ にコマが乗っている。 2. すべての駒を $ 1 $ 大きいマスに進める。移動を終えた時点でマス $ 1 $ に駒が乗っている。 - $ i=2 $ での操作 1. マス $ 0 $ に駒を置く。この時点でマス $ 0,\ 1 $ にコマが乗っている。 2. すべての駒を $ 1 $ 大きいマスに進める。移動を終えた時点でマス $ 1,\ 2 $ に駒が乗っている。 - $ i=3 $ での操作 1. マス $ 0 $ に駒を置く。この時点でマス $ 0,\ 1,\ 2 $ にコマが乗っている。 2. すべての駒を $ 3 $ 大きいマスに進める。 この時、マス $ 1,2 $ にある駒は移動先のマスが存在しないため (それぞれ $ 1+3=4,2+3=5 $ なので) 、盤上から取り除いて $ P $ に $ 2 $ を加算する。$ P $ の値は $ 2 $ になる。 移動を終えた時点でマス $ 3 $ に駒が乗っている。 - $ i=4 $ での操作 1. マス $ 0 $ に駒を置く。この時点でマス $ 0,\ 3 $ にコマが乗っている。 2. すべての駒を $ 2 $ 大きいマスに進める。 この時、マス $ 3 $ にある駒は移動先のマスが存在しないため ($ 3+2=5 $ なので) 、盤上から取り除いて $ P $ に $ 1 $ を加算する。$ P $ の値は $ 3 $ になる。 移動を終えた時点でマス $ 2 $ に駒が乗っている。
### Sample Explanation 2
$ P $ の値が操作中に変化しない場合もあります。