#ACM0066. L-R长条

L-R长条

题目描述

江月诗发现了一个由 nn 个单元格组成的长条,从左到右依次为 11nn 。在第 ii 个单元格中,有一个正整数 aia_i 和一个字母 sis_i ,其中所有的字母 sis_i 不是 "L"就是 "R"。

现在江月诗可以进行任意数量(可能为零)的操作,以获得尽可能高的分数。

在每一次操作中,江月诗可以选择两个索引 llrr ( 1l<rn1 \le l < r \le n ),这样 sls_l = 'L', srs_r = 'R',然后进行以下操作:

  • al+al+1++ar1+ara_l + a_{l + 1} + \dots + a_{r - 1} + a_r 点的值加到他的分数上;
  • 将所有 lirl \le i \le rsis_i 替换为'.',这意味着江月诗不能再选择这些索引。

例如,请考虑以下条带:

33 55 11 44 33 22
L R L R

你可以先选择 l=1l = 1r=2r = 2 ,然后加上 3+5=83 + 5 = 8 到你的得分 。

33 55 11 44 33 22
. L R

然后选择 l=3l = 3r=6r = 6 ,并将 1+4+3+2=101 + 4 + 3 + 2 = 10 加入你的分数。

33 55 11 44 33 22
.

因此,不可能再进行其他操作,最终得分是 1818

请问江月诗能够得到最大得分是多少?

输入格式

第一行包含一个整数 T T ( 1T1041 \le T \le 10^4 ) 表示测试用例数。

每个测试用例的第一行包含一个整数 nn ( 2n21052 \le n \le 2 \cdot 10^5 ) 表示条带长度。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n ( 1ai1051 \le a_i \le 10^5 ) 表示写在条形图上的数字。

每个测试用例的第三行包含由 nn 个字符 "L "和 "R "组成的字符串 ss

保证所有测试用例中 nn 的值之和不超过 2×1052 \times 10^5

输出格式

对于每个测试用例,输出一个整数表示江月诗能够得到的最大分数。

输入样例

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

输出样例

18
10
0
22