Codeforces  492B   B. Vanya and Lanterns

题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=86640#problem/B

题目:

Description

Vanya walks late at night along a straight street of length l, lit by n lanterns. Consider the coordinate system with the beginning of the street corresponding to the point 0, and its end corresponding to the point l. Then the i-th lantern is at the point ai. The lantern lights all points of the street that are at the distance of at most d from it, where d is some positive number, common for all lanterns.

Vanya wonders: what is the minimum light radius d should the lanterns have to light the whole street?

Input

The first line contains two integers n, l (1 ≤ n ≤ 1000, 1 ≤ l ≤ 109) — the number of lanterns and the length of the street respectively.

The next line contains n integers ai (0 ≤ ai ≤ l). Multiple lanterns can be located at the same point. The lanterns may be located at the ends of the street.

Output

Print the minimum light radius d, needed to light the whole street. The answer will be considered correct if its absolute or relative error doesn't exceed 10 - 9.

Sample Input

 

Input
7 15 15 5 3 7 9 14 0
Output
2.5000000000
Input
2 5 2 5
Output
2.0000000000

Sample Output

1 2
                

Hint

Consider the second sample. At d = 2 the first lantern will light the segment [0, 4] of the street, and the second lantern will light segment [3, 5]. Thus, the whole street will be lit.

题意:

N盏灯照亮长度为L的街道,使整条街全部被照亮。求灯的最少照亮半径。

分析:

1.将灯的位置排序,先求出相邻两盏灯之间的最大距离,最大距离是每盏灯所照的最大半径的两倍

2.再求第一盏灯到街首的距离和街尾到最后一盏灯的距离

3.比较三个距离的长度,最大值即为所求

代码:

 #include<cstdio>
 #include<iostream>
 #include<algorithm>
 using namespace std;
 ;

 int a[maxn];

 int max(int x,int y)
 {
     return x>y?x:y;
 }

 int main()
 {
     int n,l;
     scanf("%d%d",&n,&l);
     ;i<=n;i++)
     {
         scanf("%d",&a[i]);
     }
     sort(a+,a+n+);   //将灯的位置从小到大排序
     a[]=;  //街首
     a[n+]=l;  //街尾
     ;
     ]-a[],xx=a[n+]-a[n];  //首尾两盏灯到街首和街尾的距离
     ;j<n;j++)   //两盏灯之间的最大距离
     {
         a[j]=a[j+]-a[j];
         if(a[j]>m)
             m=a[j];
     }
     m=max(*b,max(m,*xx));   //求灯照射的最大直径
     double ans=m/2.0;
     printf("%.10lf\n",ans);
     ;
 }

昨天写题目的时候没有写max函数,提交后WA了,所以这次看完题目知道要比较大小,就先写了一个max函数。

Codeforces 492B B. Vanya and Lanterns的更多相关文章

  1. cf492B Vanya and Lanterns

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

  2. codeforces 492B. Vanya and Lanterns 解题报告

    题目链接:http://codeforces.com/problemset/problem/492/B #include <cstdio> #include <cstdlib> ...

  3. codeforces 677C C. Vanya and Label(组合数学+快速幂)

    题目链接: C. Vanya and Label time limit per test 1 second memory limit per test 256 megabytes input stan ...

  4. CodeForces 492B

    Description Vanya walks late at night along a straight street of length l, lit by n lanterns. Consid ...

  5. Vanya and Lanterns

    Description Vanya walks late at night along a straight street of length l, lit by n lanterns. Consid ...

  6. 【39.29%】【codeforces 552E】Vanya and Brackets

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  7. 【25.33%】【codeforces 552D】Vanya and Triangles

    time limit per test4 seconds memory limit per test512 megabytes inputstandard input outputstandard o ...

  8. 【30.23%】【codeforces 552C】Vanya and Scales

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  9. 【33.33%】【codeforces 552B】Vanya and Books

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

随机推荐

  1. Jsoup代码解读之五-实现一个CSS Selector

    Jsoup代码解读之七-实现一个CSS Selector 当当当!终于来到了Jsoup的特色:CSS Selector部分.selector也是我写的爬虫框架webmagic开发的一个重点.附上一张s ...

  2. 多版本jQuery的使用剖析

    </div> </div> <!-- basic scripts --> <!--[if !IE]> --> <!-- <![endi ...

  3. 图画hadoop -- 生态圈

  4. jquery 插件 validate 学习

    jquery是十分方便的对于现在来说. 首先应该明白一个问题: <p> <label  for="password">Password</label& ...

  5. uploadify 使用 详细 说明

    简单 常用的 时间 有点 紧  先写 这点 ,  有时间 在更新 下面有 例子  链接 不过要 自己 摘 一下 很简单的啦   <script type="text/javascrip ...

  6. python学习(序章)

    好久没写过笔记了,最近听说写博客笔记能使知识记忆更深刻,于是就开始写写,不为推广,只为增加记忆.好了,开始python的学习: 学习一门语言的快慢,与人无关,主要是与学习的目的有关,python语言目 ...

  7. redis在spring中的配置及java代码实现

    1.建一个redis.properties属性文件 # Redis Setting redis.addr = 127.0.0.1 redis.port = 6379 redis.auth = mast ...

  8. 枚举与define的区别

    1.枚举enum的用途浅例      写程序时,我们常常需要为某个对象关联一组可选alternative属性.例如,学生的成绩分A,B,C,D等,天气分sunny, cloudy, rainy等等.  ...

  9. BZOJ 2208: [Jsoi2010]连通数( DFS )

    n只有2000,直接DFS就可以过了... -------------------------------------------------------------------------- #in ...

  10. iphone手机上的click和touch

    在iphone手机上绑定click事件时,当你触发点击事件时,你绑定的click事件的DOM节点,会自动被一块浮层选中.所以如果使用事件委托来做事件绑定会造成很差的用户体验. 使用touchstart ...