atcoder#ABC256B. [ABC256B] Batters

[ABC256B] Batters

题目描述

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

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

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

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

输入格式

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

N N A1 A_1 A2 A_2 \dots AN A_N

输出格式

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

题目大意

高桥君玩游戏,有 NN 个球和四个筐子,编号为 0,1,2,30,1,2,3

NN 次操作,每次执行:

  1. 将一个球放进 00 号筐子

  2. 将所有筐子里的球向前移 AiA_i 格;若出界,则将它丢出去。

问最后筐子外面总共有多少球。

4
1 1 3 2
3
3
1 1 1
0
10
2 2 4 1 1 1 4 2 2 1
8

提示

制約

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

Sample Explanation 1

操作を説明すると次のようになり、操作終了時点での P P の値は 3 3 になります。 - i=1 i=1 での操作 1. マス 0 0 に駒を置く。この時点でマス 0 0 にコマが乗っている。 2. すべての駒を 1 1 大きいマスに進める。移動を終えた時点でマス 1 1 に駒が乗っている。 - i=2 i=2 での操作 1. マス 0 0 に駒を置く。この時点でマス 0, 1 0,\ 1 にコマが乗っている。 2. すべての駒を 1 1 大きいマスに進める。移動を終えた時点でマス 1, 2 1,\ 2 に駒が乗っている。 - i=3 i=3 での操作 1. マス 0 0 に駒を置く。この時点でマス 0, 1, 2 0,\ 1,\ 2 にコマが乗っている。 2. すべての駒を 3 3 大きいマスに進める。 この時、マス 1,2 1,2 にある駒は移動先のマスが存在しないため (それぞれ 1+3=4,2+3=5 1+3=4,2+3=5 なので) 、盤上から取り除いて P P 2 2 を加算する。P P の値は 2 2 になる。 移動を終えた時点でマス 3 3 に駒が乗っている。 - i=4 i=4 での操作 1. マス 0 0 に駒を置く。この時点でマス 0, 3 0,\ 3 にコマが乗っている。 2. すべての駒を 2 2 大きいマスに進める。 この時、マス 3 3 にある駒は移動先のマスが存在しないため (3+2=5 3+2=5 なので) 、盤上から取り除いて P P 1 1 を加算する。P P の値は 3 3 になる。 移動を終えた時点でマス 2 2 に駒が乗っている。

Sample Explanation 2

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