T640837 【pty2022s】大富翁
题目描述
胖头鱼正在和他的朋友们玩一款叫做大富翁的游戏,首先我们将参加游戏的 $n$ 个玩家依次编号为 $1 \dots n$ 。
如图所示,游戏在一个环形的格子地图上进行,我们按顺序将每个格子编号为 $1 \dots L$ ,此外,每个格子中还有一个**非负整数**。玩家们将会在格子之间移动,通常情况下,如果某个玩家在格子 $i$ ,则移动 $1$ 步后他会到达格子 $i + 1$ 。只有一个**例外**,就是如果玩家在格子 $L$ ,则移动 $1$ 步后他会到达格子 $1$ 。

初始时所有玩家都在格子 $1$ ,并且都拥有 $0$ 个金币。然后每个玩家**轮流**行动,从玩家 $1$ 开始,然后玩家 $2$ …… 以此类推,玩家 $n$ 行动完后又轮到玩家 $1$ 。每个玩家每次行动的规则如下:
1. 首先当前玩家扔一次骰子,令骰子上显示的数是 $x$ 。
2. 然后当前玩家移动 $x$ 步,令移动完后所在**格子中**的数为 $v$ 。
3. 如果 $v = 0$ ,则回到第 $1$ 步让当前玩家再次扔骰子,**重复**上述流程直到 $v > 0$ 。
4. 此时 $v > 0$ ,当前玩家获得 $v$ 个金币。
5. 本次行动结束。
已知从游戏开始到现在所有玩家共扔了 $m$ 次骰子,并且知道每次骰子上显示的数 $b_i$ ,求此时每个玩家拥有的金币数量。
输入格式
第一行包含三个整数 $n$ 、 $L$ 、 $m$ ,表示有 $n$ 名玩家,地图中有 $L$ 个格子,一共扔了 $m$ 次骰子。
第二行包含 $l$ 个整数 $a_i$ ,按顺序给出地图中每个格子中的数。
第三行包含 $m$ 个整数 $b_i$ ,按顺序给出每次骰子显示的值。
输出格式
只有一行共 $n$ 个整数,按顺序输出每个玩家的金币数量,整数之间用空格隔开。
说明/提示
【样例 1 解释】
只有 $1$ 名玩家,共扔了 $3$ 次骰子,初始时玩家 $1$ 在格子 $1$ 。首先玩家 $1$ 扔骰子得到 $2$ ,走 $2$ 步到达格子 $3$ ,获得 $3$ 个金币。然后玩家 $1$ 再次扔骰子得到 $1$ ,走 $1$ 步到达格子 $4$ ,获得金币 $1$ 。最后玩家 $1$ 再次扔骰子得到 $2$ ,走 $2$ 步到达格子 $1$ ,获得金币 $4$ 。玩家 $1$ 总共获得金币 $3 + 1 + 4 = 8$ 。
【样例 2 解释】
有 $2$ 名玩家,共扔了 $4$ 次骰子,初始时玩家 $1$ 和 $2$ 均在格子 $1$ 。首先轮到玩家 $1$ 扔骰子,得到 $3$ ,玩家 $1$ 移动到格子 $4$ ,获得 $4$ 个金币。然后轮到玩家 $2$ 扔骰子,得到 $4$ ,玩家 $2$ 移动到格子 $5$ ,需要再次扔骰子,所以接下来还是玩家 $2$ 扔骰子,得到 $2$ ,玩家 $2$ 移动到格子 $1$ ,获得 $5$ 个金币。最后轮到玩家 $1$ 扔骰子,得到 $4$ ,玩家 $1$ 移动到格子 $2$ ,获得 $3$ 个金币。最终玩家 $1$ 获得 $7$ 个金币,玩家 $2$ 获得 $5$ 个金币。
【数据说明】
对于所有数据, $1 ≤ n, l, m ≤ 10000$ 、 $0 ≤ a_i ≤ 10^9$ 、 $1 ≤ b_i ≤ 10^9$。
部分测试点的特殊属性如下:
- 对于数据点 $1 - 6$ , $n = 1$ ,表示只有一名玩家。
- 对于数据点 $7 - 12$ , $0 < a_i, b_i ≤ 1000$ ,表示每次移动后必然会获得金币,并且每次移动的步数和格子里的数都较少。
- 对于数据点 $13 - 16$ , $0 < a_i$ ,表示每次移动后必然会获得金币。