欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF699A.Launch of Collider
Launch of Collider
题目描述
很快,一台新型、强大且不同寻常的对撞机即将启动,它沿一条直线安置。共有 个粒子会被发射到其中,所有粒子都排列在一条直线上,且不存在两个及以上粒子位于同一点。每个粒子的坐标与距离对撞机中心的距离(单位:米)相同, 表示第 个粒子的坐标及其在对撞机中的位置。所有粒子的位置坐标均为偶数整数。
你已知每个粒子的运动方向——在对撞机启动后,每个粒子要么向右运动,要么向左运动。所有粒子会在对撞机启动的瞬间同时开始移动。每个粒子都将以每微秒 米的恒定速度直线向左或向右运动。对撞机的长度足够大,确保粒子在可预见的时间内不会离开对撞机。
请编写程序,计算任意两粒子首次相遇并产生爆炸的时刻。换句话说,求在首次有两粒子重合于同一点前,经过的微秒数。
输入格式
第一行包含正整数 (),表示粒子的数量。
第二行包含 个字符,每个字符为 "L" 或 "R"。第 个字符为 "L" 时,第 个粒子向左运动,否则第 个字符为 "R",表示第 个粒子向右运动。
第三行包含一组互不相同的偶数整数 (),表示这些粒子的坐标,且以从左到右递增的顺序给出。
输出格式
输出一行一个整数,表示首次有两粒子碰撞并爆炸所经历的微秒数。
如果永远没有两粒子发生碰撞,请输出 。
说明/提示
在第一个样例中,第一次碰撞会在 微秒后发生,因为第 个和第 个粒子会同时位于坐标 的位置。
在第二个样例中,不会有任何粒子碰撞,因此不会发生爆炸。
由 ChatGPT 5 翻译
样例
4
RLRL
2 4 6 10
1
3
LLR
40 50 60
-1
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |