AT_abc256_b [ABC256B] Batters

题目描述

高桥君想制作一个以棒球为主题的游戏,但他在编写代码时遇到了困难。 请你替高桥君编写一个程序,解决下面的问题。 有 $4$ 个格子,编号分别为 $0$、$1$、$2$、$3$。初始时所有格子上都没有棋子。 还有一个整数 $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 \geq 4$),则将这些棋子移出棋盘,并将被移出的棋子数量加到 $P$ 上。 请输出所有操作结束后 $P$ 的值。

输入格式

输入以如下格式从标准输入给出。 $N$ $A_1$ $A_2$ $\dots$ $A_N$

输出格式

请输出操作结束时 $P$ 的值。

说明/提示

## 限制条件 - $1 \leq N \leq 100$ - $1 \leq A_i \leq 4$ - 输入的所有值均为整数 ## 样例解释 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$ 上的棋子移动后分别到达 $4$ 和 $5$,超出了格子范围,因此被移出棋盘,$P$ 增加 $2$,此时 $P=2$。移动后,格子 $3$ 上有一个棋子。 - $i=4$ 时的操作 1. 在格子 $0$ 上放置一个棋子。此时格子 $0$ 和格子 $3$ 上各有一个棋子。 2. 将所有棋子向前移动 $2$ 个格子。此时,格子 $3$ 上的棋子移动后到达 $5$,超出了格子范围,因此被移出棋盘,$P$ 增加 $1$,此时 $P=3$。移动后,格子 $2$ 上有一个棋子。 # 样例解释 2 在操作过程中,$P$ 的值也有可能不会发生变化。 由 ChatGPT 4.1 翻译