CF699A Launch of Collider
题目描述
很快,一台新型、强大且不同寻常的对撞机即将启动,它沿一条直线安置。共有 $n$ 个粒子会被发射到其中,所有粒子都排列在一条直线上,且不存在两个及以上粒子位于同一点。每个粒子的坐标与距离对撞机中心的距离(单位:米)相同,$x_i$ 表示第 $i$ 个粒子的坐标及其在对撞机中的位置。所有粒子的位置坐标均为偶数整数。
你已知每个粒子的运动方向——在对撞机启动后,每个粒子要么向右运动,要么向左运动。所有粒子会在对撞机启动的瞬间同时开始移动。每个粒子都将以每微秒 $1$ 米的恒定速度直线向左或向右运动。对撞机的长度足够大,确保粒子在可预见的时间内不会离开对撞机。
请编写程序,计算任意两粒子首次相遇并产生爆炸的时刻。换句话说,求在首次有两粒子重合于同一点前,经过的微秒数。
输入格式
第一行包含正整数 $n$($1 \leq n \leq 200000$),表示粒子的数量。
第二行包含 $n$ 个字符,每个字符为 "L" 或 "R"。第 $i$ 个字符为 "L" 时,第 $i$ 个粒子向左运动,否则第 $i$ 个字符为 "R",表示第 $i$ 个粒子向右运动。
第三行包含一组互不相同的偶数整数 $x_{1},x_{2},...,x_{n}$($0 \leq x_{i} \leq 10^{9}$),表示这些粒子的坐标,且以从左到右递增的顺序给出。
输出格式
输出一行一个整数,表示首次有两粒子碰撞并爆炸所经历的微秒数。
如果永远没有两粒子发生碰撞,请输出 $-1$。
说明/提示
在第一个样例中,第一次碰撞会在 $1$ 微秒后发生,因为第 $1$ 个和第 $2$ 个粒子会同时位于坐标 $3$ 的位置。
在第二个样例中,不会有任何粒子碰撞,因此不会发生爆炸。
由 ChatGPT 5 翻译