#100. 噜噜搬货

噜噜搬货

题目背景

物流中心有 n n 个仓库沿着一条直线依次排列,从左到右编号为 1 1 n n 。每个仓库中初始存放着一定数量的货物,第 i i 个仓库的初始货物数量为 ai a_i

操作规则

噜噜会下达一系列货物转移命令,所有命令通过一个字符串给出,每个命令只能是以下两种之一:

  • L 命令:当命令为 L 时,除了 11 号仓库外,其他所有仓库的货物都要全部同时转移到左边相邻的仓库中(即 22 号仓库的货物移到 11 号,33 号移到2 2 号 …… 以此类推)。执行完毕后,最右侧的 n n 号仓库将没有货物。

  • R 命令:当命令为 R 时,除了 n n 号仓库外,其他所有仓库的货物都要全部同时转移到右边相邻的仓库中(即 11 号仓库的货物移到 22 号,22 号移到 33 号 …… 以此类推)。执行完毕后,最左侧的 11 号仓库将没有货物。

任务要求

已知初始时每个仓库的货物数量和包含 m m 个命令的操作序列,需要计算经过所有命令执行完毕后,每个仓库中最终的货物数量。

输入说明

  • 第一行包含两个整数 n n m m ,分别表示仓库的数量和命令的总数。

  • 第二行包含 n n 个非负整数 a1,a2,,an a_1, a_2, \dots, a_n ,代表初始时每个仓库的货物数量。

  • 第三行包含一个长度为 m m 的字符串,字符串中只包含 'L' 和 'R' 两种字符,代表操作命令序列。

输出说明

输出一行共 n n 个整数,依次表示经过所有操作后,1 号到 n n 号仓库各自的货物数量。

4 3
3 1 4 1
LRR
0 0 4 5

解释

  • 初始状态:[3,1,4,1][3, 1, 4, 1]

  • 执行第一个命令 L 后:[3+1=4,4,1,0][3+1=4, 4, 1, 0]

  • 执行第二个命令 R 后:[0,4,4,0+1=1][0, 4, 4, 0+1=1]

  • 执行第三个命令 R 后:[0,0,4,4+1=5][0, 0, 4, 4+1=5]

2 7
1 8
LLLLLLL
9 0

解释:每次 L 命令都会让 22 号仓库的货物转移到 11 号,经过7 7 次操作后,11 号仓库累计 1+8=91+8=9 件货物,22 号仓库为空。

数据范围与提示

对于80%80\% 的数据保证:n,m2000n,m \le 2000

对于100%100\% 的数据保证:$2 \le n \le 2 \times 10^5,1 \le m \le 2 \times 10^5,0 \le a_i \le 10$。