题意

一条长为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的更多相关文章

  1. cf492B Vanya and Lanterns

    B. Vanya and Lanterns time limit per test 1 second memory limit per test 256 megabytes input standar ...

随机推荐

  1. java instanceof 判断是否是String

    if(formbean.getBean().get("RZZGMCM") instanceof String){ formbean.getBean().put("RZZG ...

  2. JavaDailyReports10_14

    1 package Test; 2 3 import java.util.Scanner; 4 5 public class Main { 6 7 public static void main(St ...

  3. 第九章节 BJROBOT 多点导航【ROS全开源阿克曼转向智能网联无人驾驶车】

    1.把小车平放在地板上,用资料里的虚拟机,打开一个终端 ssh 过去主控端启动roslaunch znjrobot bringup.launch. 2.再打开一个终端,ssh 过去主控端启动 rosl ...

  4. Beta冲刺--总结随笔

    一.项目预期计划 时间 (天) 预期计划 完成情况 1-2 登录注册页面美化 完成 3-5 完善寻/失物登记以及管理页面 完成 6-9 实现剩下的用户管理.我的账号等页面 50% 9-10 最终测试与 ...

  5. elasticsearch基本概念和基本语法

    Elasticsearch是基于Json的分布式搜索和分析引擎,是利用倒排索引实现的全文索引. 优势: 横向可扩展性:增加服务器可直接配置在集群中 分片机制提供更好的分布性:分而治之的方式来提升处理效 ...

  6. 递归的三部解题曲 关联leetcode 104. 二叉树最大深度练习

    递归关心的三点 1. 递归的终止条件 2. 一级递归需要做什么 3. 返回给上一级递归的返回值是什么 递归三部曲 1. 找到递归的终止条件:递归什么时候结束 2. 本级递归做什么:在这级递归中应当完成 ...

  7. TypeLoadException: 未能从程序集“ECS.GUI.Define, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中加载类型“ECS.GUI.Define.ArmgAimPos”,因为它在 4 偏移位置处包含一个对象字段,该字段已由一个非对象字段不正确地对齐或重叠

    TypeLoadException: 未能从程序集"ECS.GUI.Define, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null ...

  8. redhat_快捷键和shell命令操作.md

    tab键 命令自动补全 history !n 执行历史记录第n条 !! 执行上一条命令 !l 最后一条以l开头的命令 alias 创建命令的别名 alias 命令别名 = "命令行" ...

  9. 使用uiautomatorviewer报错Error obtaining UI hierarchy

    现象:使用uiautomatorviewer报错Error obtaining UI hierarchy 解决方法:经验证关闭appium,再重新获取,就不会报错     (python运行了app代 ...

  10. Github 简单使用

    第一步:打开官网:https://github.com 注册一个帐户. 第二步:创建仓库 填写仓库的名字和描述. 创建好了之后,点击"Branch master",创建分支--在文 ...