问题2642--Right Left Wrong!!!

2642: Right Left Wrong!!!

[命题人 : ]
时间限制 : 1 sec  内存限制 : 128 MB

提交

题目描述

你拿到了一个由n个单元格组成的长条,在第i个单元格中,有对应的正整数a[i]和一个对应的字母s[i],且字母仅为L或者R。
现请你进行任意次操作,以获得尽可能高的分数。
在一次操作中,你可以选择两个索引x和y(1<=x<y<=n,且s[x]='L' s[y]='R'),然后执行以下操作:
  • 把a[x]+a[x+1]+...+a[y]加到当前分数上。
  • 将所有x<=i<=y中的s[i]替换为L和R以外的字母,即不再使用这些索引。
例如,考虑以下纸带:



你可以先选择x=1,y=2,然后在分数上加上3+5=8。


然后选择x=3,y=6,并将1+4+3+2=10加到总分上。


最后,变成这样,不可再进行操作,最终得分是18。
最大得分是多少?



输入

第一行包含一个正整数T,表示有T组数据。
接下来T组数据,每组数据第一行都有一个正整数n(2<=n<=2e5)表示纸带的长度。
每组数据的第二行是n个正整数,a[i]表示写在第i个纸带上的数字,也就是分数。
每组数据的第三行是一个长度为n的字符串s,代表这每个单元格上面是L还是R。

输出

对于每组数据,输出一个整数表示可能得到的最大分数。

样例输入 Copy

4
6
3 5 1 4 3 2
LRLLLR
2
2 8
LR
2
3 9
RL
5
1 2 3 4 5
LRLRR

样例输出 Copy

18
10
0
22

来源/分类