#YS3T3. 分子对撞

分子对撞

题目描述:

现实验室有n个分子,研究员准备进行分子对撞实验,将 n 个分子从 1 开始编号,并按照给定的位置放到一条直线上,每个分子都有自己的健康值和移动方向。

所有分子会以相同速度同时沿着给定方向在直线上移动。如果两个分子移动到相同的位置,就会发生对撞。如果两个分子对撞,那么健康值较高的分子在损耗1点健康值的基础上将健康值较低的分子撞出路线,然后接着沿着与之前相同的方向前进。如果两个分子的健康值相同,则二者均会被撞出路线。

现给出 n 个分子的初始位置、健康值以及移动方向,请你确定全部对撞后还在路线上的分子的健康值,按照编号从小到大给出,如果不存在请输出 "NULL"。 注意:位置可能是乱序的

输入格式:

第一行 一个正整数 n。

第二行 n 个正整数pi表示分子的位置, 保证位置互不相同。

第三行 n 个正整数hi表示分子的健康值。

第四行一个包含n个字符的字符串,只包含'L'和'R'两种字符,'L'表示向左移动,'R'表示向右移动。

输出格式:

按照编号从小到大的顺序输出剩余分子的健康值,没有输出 "NULL"。

样例:

4
3 5 2 6
10 10 15 12
RLRL
14

提示

1<=n<=105;1<=pi,hi<=1061 <= n <= 10^5; 1 <= pi,hi <= 10^6