CF699A Launch of Collider 题解
2024-10-19 18:42:37
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);
}
最新文章
- Python Virtualenv运行Django环境配置
- code project 上的内存管理的示例代码
- 修改efi分区
- 20145208 《Java程序设计》第10周学习总结
- Web Service学习之二:Web Service(for JAVA)的几种框架
- vc2010下使用64位控件
- Convert View To Bitmap
- JAVA 文件编译执行与虚拟机(JVM)简单介绍
- 初学node.js有感一
- shell脚本 awk工具
- Mycat 读写分离详解
- ROS探索总结(十五)——amcl(导航与定位)
- 5G 时代,可能是什么样呢?
- 调试阶段 获取微信小程序openid
- (C/C++学习笔记) 二十. 文件和流
- Codeforces Round #541 (Div. 2)
- mysql 5.7 修改密码
- 160229-01、web页面常用功能js实现
- 跟我一起学kafka(一)
- Mybatis——实体类属性名和数据库字段名不同时的解决方案
热门文章
- tomcat更改端口号and设置cmd别名
- HAOI 2018 Round 1 题解
- Codeforces 1332G - No Monotone Triples(数据结构综合)
- P4497 [WC2011]拼点游戏
- 第42篇-JNI引用的管理(1)
- [Ocean Modelling for Begineers] Ch4. Long Waves in a Channel
- nginx_日志
- Linux之crond定时任务
- android:textAppearance解析
- java设计模式—Decorator装饰者模式