T640834 【pty2022】大富翁

题目描述

胖头鱼正在和他的朋友们玩一款叫做大富翁的游戏,首先我们将参加游戏的 $n$ 个玩家依次编号为 $1 \dots n$ 。 如图所示,游戏在一个环形的格子地图上进行,我们按顺序将每个格子编号为 $1 \dots L$ ,此外,每个格子中还有一个整数。玩家们将会在格子之间移动,通常情况下,如果某个玩家在格子 $i$ ,则移动 $1$ 步后他会到达格子 $i + 1$ 。只有一个**例外**,就是如果玩家在格子 $L$ ,则移动 $1$ 步后他会到达格子 $1$ 。 ![](https://cdn.luogu.com.cn/upload/image_hosting/sapo1kc7.png) 初始时所有玩家都在格子 $1$ ,并且都拥有 $e$ 点能量和 $0$ 个金币。然后每个玩家**轮流**行动,从玩家 $1$ 开始,然后玩家 $2$ …… 以此类推,玩家 $n$ 行动完后又轮到玩家 $1$ 。但是只有能量**大于** $0$ 的玩家才能参与轮流行动,能量小于等于 $0$ 的玩家将无法继续行动。每个玩家每次行动的规则如下: 1. 首先当前玩家扔一次骰子,令骰子上显示的数是 $x$ 。 2. 然后当前玩家移动 $x$ 步,令移动完后所在**格子中**的数为 $v$ 。 3. 如果 $v = 0$ ,则回到第 $1$ 步让当前玩家再次扔骰子,**重复**上述流程直到 $v ≠ 0$ 。 4. 此时 $v ≠ 0$ ,如果 $v$ 为**正数**,则当前玩家获得 $v$ 个金币,否则 $v$ 为负数,当前玩家损失 $-v$ 点能量。 5. 本次行动结束。 已知从游戏开始到现在所有玩家共扔了 $m$ 次骰子,并且知道每次骰子上显示的数 $b_i$ ,求此时每个玩家拥有的金币数量。

输入格式

第一行包含四个整数 $n$ 、 $L$ 、 $m$ 和 $e$ ,表示有 $n$ 名玩家,地图中有 $L$ 个格子,一共扔了 $m$ 次骰子,每个玩家初始的能量为 $e$ 。 第二行包含 $l$ 个整数 $a_i$ ,按顺序给出地图中每个格子中的数。 第三行包含 $m$ 个整数 $b_i$ ,按顺序给出每次骰子显示的值。

输出格式

只有一行共 $n$ 个整数,按顺序输出每个玩家的金币数量,整数之间用空格隔开。

说明/提示

【样例 1 解释】 有 $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$ 个金币。 样例 2 解释】 有 $2$ 名玩家,共扔了 $4$ 次骰子,初始时玩家 $1$ 和 $2$ 均在格子 $1$ ,均拥有 $1$ 点能量。首先轮到玩家 $1$ 扔骰子,得到 $3$ ,玩家 $1$ 移动到格子 $4$ ,损失 $1$ 点能量,此时玩家 $1$ 的能量为 $0$ ,无法再行动。然后轮到玩家 $2$ 扔骰子,得到 $4$ ,玩家 $2$ 移动到格子 $5$ ,获得 $2$ 个金币。玩家 $1$ 轮空,玩家 $2$ 继续扔骰子,得到 $2$ ,玩家 $2$ 移动到格子 $1$ ,获得 $5$ 个金币。玩家 $1$ 轮空,玩家 $2$ 继续扔骰子,得到 $2$ ,玩家 $1$ 移动到格子 $3$ ,获得 $8$ 个金币。最终玩家 $1$ 获得 $0$ 个金币,玩家 $2$ 获得 $6$ 个金币。 数据说明】 对于所有数据, $1 ≤ n, l, m ≤ 10^5$ 、 $-10^9 ≤ a_i ≤ 10^9$ 、 $1 ≤ b_i, e ≤ 10^9$。 部分测试点的特殊属性如下: - 对于数据点 $1 - 4$ , $0 < a_i, b_i ≤ 1000$ ,表示每次移动后必然会获得金币,并且每次移动的步数和格子里的数都较少。 - 对于数据点 $5 - 8$ , $0 < a_i$ ,表示每次移动后必然会获得金币。 - 对于数据点 $9 - 14$ , $0 ≤ a_i$ ,表示没有玩家会损失能量值。