Content

有 \(n\) 辆车在一条数轴上,第 \(i\) 辆车在 \(a_i\) 上,每辆车要么向左,要么向右。开始,它们以 \(1\) 个单位每秒的速度在行驶。问你第一次撞车发生在第几秒的时候,或者根本不会撞车。

数据范围:\(1\leqslant n\leqslant 2\times 10^5,0\leqslant x_i\leqslant x_{i+1}\leqslant 10^9\)。

Solution

我们可以很容易的发现,当且仅当相邻的两个车,左边的向右开,右边的向左开时会发生撞车。所以,枚举这样的两个车之间的距离并取最小值 \(dis\),答案就是 \(\dfrac{dis}{2}\)。

Code

#include <cstdio>
#include <algorithm>
using namespace std; char s[200007];
int n, a[200007], ans = 0x3f3f3f3f; int main() {
scanf("%d%s", &n, s + 1);
for(int i = 1; i <= n; ++i) scanf("%d", &a[i]);
for(int i = 2; i <= n; ++i)
if(s[i - 1] == 'R' && s[i] == 'L') ans = min(ans, (a[i] - a[i - 1]) / 2);
printf("%d", (ans == 0x3f3f3f3f) ? -1 : ans);
}

最新文章

  1. Python Virtualenv运行Django环境配置
  2. code project 上的内存管理的示例代码
  3. 修改efi分区
  4. 20145208 《Java程序设计》第10周学习总结
  5. Web Service学习之二:Web Service(for JAVA)的几种框架
  6. vc2010下使用64位控件
  7. Convert View To Bitmap
  8. JAVA 文件编译执行与虚拟机(JVM)简单介绍
  9. 初学node.js有感一
  10. shell脚本 awk工具
  11. Mycat 读写分离详解
  12. ROS探索总结(十五)——amcl(导航与定位)
  13. 5G 时代,可能是什么样呢?
  14. 调试阶段 获取微信小程序openid
  15. (C/C++学习笔记) 二十. 文件和流
  16. Codeforces Round #541 (Div. 2)
  17. mysql 5.7 修改密码
  18. 160229-01、web页面常用功能js实现
  19. 跟我一起学kafka(一)
  20. Mybatis——实体类属性名和数据库字段名不同时的解决方案

热门文章

  1. tomcat更改端口号and设置cmd别名
  2. HAOI 2018 Round 1 题解
  3. Codeforces 1332G - No Monotone Triples(数据结构综合)
  4. P4497 [WC2011]拼点游戏
  5. 第42篇-JNI引用的管理(1)
  6. [Ocean Modelling for Begineers] Ch4. Long Waves in a Channel
  7. nginx_日志
  8. Linux之crond定时任务
  9. android:textAppearance解析
  10. java设计模式—Decorator装饰者模式