CF492B
题意
一条长为L的路,在n个不同的位置都放置了路灯,灯光半径相同,问半径至少为多少时灯光可以覆盖整条路。
那我们就先排序,使灯的位置是从路的一边依次排到另一边的
,然后求出两两挨着的灯之间距离的最大值,因为灯光半径相等,所以两盏灯之间的距离就是两盏灯灯光的半径之和(也就是一盏灯灯光的直径),就把这个值除以二记录下来。
然后,因为要求整个道路全部被灯光覆盖,所以把刚刚记录的那个值与路最两端的灯到路两端的距离做比较取最大值(因为路的两段不会发光,所以覆盖这两段的只能是最边上的灯的半径,因此不用再把这个值除以二)
最后代码
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<algorithm>
#define maxn 100010
using namespace std;
int main(){
int n;
double l,a[10010];
double w=0;
cin>>n>>l;
for(int i=1;i<=n;i++){
cin>>a[i];
}
a[n+1]=l;
a[0]=0;
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
w=max(w,a[i]-a[i-1]);
}
w=max(a[1],w/2);
w=max(l-a[n],w);
printf("%.9lf",w);
return 0;
}
CF492B的更多相关文章
- cf492B Vanya and Lanterns
B. Vanya and Lanterns time limit per test 1 second memory limit per test 256 megabytes input standar ...
随机推荐
- SpringBoot+Vue 前后端合并部署
前后端分离开发项目 前端vue项目 服务端springboot项目 如何将vue的静态资源整合到springboot项目里,通过启动jar包的方式部署服务. 前端项目执行npm run build 命 ...
- Java学习日报7.10
package Address;import java.util.Scanner; public class Address{ Scanner sc=new Scanner(System.in); p ...
- stm32之定时器彻底研究
分类: C/C++ 这里介绍两种方式使用stm32的定时器:直接操作寄存器和使用st的官方的库文件. 相比较而言,直接操作定时器比较简洁,对着寄存器看十分明了.而使用库文件有一点晕头转向. (个人观点 ...
- node-sass 安装失败报错的原因及解决办法(整理)
npm install 时偶尔遇到报错:没有安装python或node-sass 安装失败的问题,百度之后发现是被墙了,但根据百度的方法换了淘宝镜像和用了vpn都安装失败,最后发现原来是因为没有卸载之 ...
- LOG_PATH_IS_UNDEFINED
问题: SpringBoot + LogBack 写日志,除了正常的日志之外,程序跑起来后会在项目根目录多生成一个 LOG_PATH_IS_UNDEFINED 的文件夹,我的配置是以下: applic ...
- LInux维护一:VirtualMachine磁盘扩容
- 浅谈JVM垃圾回收
JVM内存区域 要想搞懂啊垃圾回收机制,首先就要知道垃圾回收主要回收的是哪些数据,这些数据主要在哪一块区域. Java8和Java8之前的相同点有很多. 都有虚拟机栈,本地方法栈,程序计数器,这三个是 ...
- Spark学习进度11-Spark Streaming&Structured Streaming
Spark Streaming Spark Streaming 介绍 批量计算 流计算 Spark Streaming 入门 Netcat 的使用 项目实例 目标:使用 Spark Streaming ...
- export PATH=$PATH:/usr/local/mysql/bin
[root@test]# export PATH=$PATH:/usr/local/mysql/bin[root@test]# echo $PATH/usr/local/sbin:/usr/local ...
- 【Linux】iptables的内核模块问题大坑!
系统环境 CentOS 6.5 今天本来可以平静的度过一天,正品味着下午茶的美好,突然接到防火墙iptables的报警. 进入到服务器中,执行下面的命令查看,结果报错 /etc/init.d/ipta ...