2713 - 机器人实验

题目描述

某个机器人领域的实验室正在进行一项有趣的研究。他们在一条直线上放置了 n 个机器人,并让它们以相同的速度沿着给定的方向移动。每个机器人都有一个位置、能量值和移动方向。

所有机器人以相同速度,同时沿给定方向在路线上移动。如果两个机器人移动到相同位置,则会发生碰撞。

然而,由于机器人们的移动路径交叉,往左 (L) 或往右 (R) 移动,它们可能会发生碰撞。一旦两个机器人在相同的位置相遇,它们就会发生碰撞。

在碰撞过程中,能量值较低的机器人将被移除,并且另一个机器人的能量值会减少1,并沿与之前相同的方向继续移动。如果两个机器人的能量值相同,它们都将被移除。

实验室希望你能帮助他们确定经过所有碰撞后,仍然存活的机器人的能量值,并按照原始编号的顺序排列,如果没有机器人存活,则输出 -1

输入

n 表示机器人个数。

第二行输入 n 个整数,表示每一个机器人的位置 positions[i]

第三行输入 n 个整数,表示每一个机器人的的能量值 pow[i]

第四行输入 n 个字符,表示每一个机器人移动的方向。

输出

剩余的每一个机器人的能量值,如果没有机器人存在了,则输出 -1

样例

输入

5
5 4 3 2 1
2 17 9 15 10
RRRRR

输出

2 17 9 15 10

输入

4
3 5 2 6
10 10 15 12
RLRL

输出

14

输入

4
1 2 5 6
10 10 11 11
RLRL

输出

-1
说明

【样例 1 解释】

位置:5 4 3 2 1

能量值:2 17 9 15 10

移动方向:RRRRR

机器人们以相同的速度向右移动。

它们不会导致碰撞,所以,能量值并不会改变。

因此,剩余的机器人能量值输出为 2 17 9 15 10。

【样例 2 解释】

位置:3 5 2 6

能量值:10 10 15 12

移动方向:RLRL

机器人们以相同的速度移动,直到发生碰撞。

机器人1和机器人2在位置 4 发生碰撞,两个机器人能量值相同,因此碰撞后都被移走。机器人3和机器人4再次碰撞,机器人4被移走,机器人3的能量值减 1,能量值变为 14

最终剩余的机器人能量值为 14

因此,输出为 14

【样例 3 解释】

位置:1 2 5 6

能量值:10 10 11 11

移动方向:RLRL

机器人们以相同的速度移动,直到发生碰撞。

机器人 1 和机器人 2 将会碰撞,因为二者能量值相同,二者都将被从路线中移除。

同理,机器人 3 和机器人 4 将会碰撞,同样被移除。

最终没有机器人存活,因此输出为 -1

【数据范围】

机器人的移动方向,只可能是 L 或者 R

30\% 的数据满足:1 \le n \le 10,1 \le positions[i] \le 10^2,1 \le pow[i] \le 10^2

60\% 的数据满足:1 \le n \le 10^2,1 \le positions[i] \le 10^6,1 \le pow[i] \le 10^6

100\% 的数据满足:1 \le n \le 3\times10^4,1 \le positions[i] \le 10^9,1 \le pow[i] \le 10^9

注意:位置 positions 可能是乱序的,每个机器人的初始位置互不相同。测试数据确保无论怎样碰撞,没有被移除的机器人的能量值始终是非负整数。

来源

东方博宜OJ

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 1 枚
难度 基础


上一题 下一题