atcoder#ABC256B. [ABC256B] Batters
[ABC256B] Batters
题目描述
有 个方格,分别是方格 、方格 、方格 和方格 。初始时,所有方格都是空的。
还有一个整数 ,初始时 。
给定一个正整数序列 ,对于每个 ,按以下顺序执行操作:
- 将一个棋子放在方格 上。
- 将每个方格 个方格远的棋子向前移动。换句话说,如果方格 上有棋子,则将棋子移动到方格 。
然而,如果目标方格不存在(即 ),则移除棋子。并将移除的棋子的数量加到 上。
在执行完所有操作后,输出 的值。
输入格式
第一行输入
第二行输入
输出格式
根据题目输出答案
4
1 1 3 2
3
3
1 1 1
0
10
2 2 4 1 1 1 4 2 2 1
8
提示
- 输入数据均为整数
样例 1 解释
操作过程如下所示。在执行完所有操作后, 的值为 。
-
时的操作:
- 将一个棋子放在方格 上。现在,方格 上有一个棋子。
- 将每个棋子向前移动 个方格。经过这一步后,方格 上有一个棋子。
-
时的操作:
- 将一个棋子放在方格 上。现在,方格 和方格 上都有棋子。
- 将每个棋子向前移动 个方格。经过这一步后,方格 和方格 上都有棋子。
-
时的操作:
- 将一个棋子放在方格 上。现在,方格 、方格 和方格 上都有棋子。
- 将每个棋子向前移动 个方格。 在这里,方格 和方格 上的棋子目标方格不存在(因为 和 ),因此这些棋子被移除,并将 加到 上。此时, 变为 。经过这一步后,方格 上有一个棋子。
-
时的操作:
- 将一个棋子放在方格 上。现在,方格 和方格 上都有棋子。
- 将每个棋子向前移动 个方格。 在这里,方格 上的棋子目标方格不存在(因为 ),因此这个棋子被移除,并将 加到 上。此时, 变为 。经过这一步后,方格 上有一个棋子。