CodeFoeces-492B

题目

原题链接:B. Vanya and Lanterns

题意

一条l长的路上栽了n个路灯,给出每个路灯的位置,问能覆盖整条路的最小的路灯照射范围。

代码

#include<bits/stdc++.h>
using namespace std;
int main() {
    int n,l;
    double s[1001]={0};
    scanf("%d%d",&n,&l);
    for(int i=1; i<=n; i++) {
        scanf("%lf",&s[i]);
    }
    sort(s,s+n+1);
    s[n+1]=l;
    double tmp,max=-1.0;
    for(int i=0; i<=n; i++) {
        if(i==0) {//记录最左侧的路灯的最小照射范围
            tmp=s[i+1]-s[i];
        } else if(i==n) {//若最右侧的路灯最小照射范围大于最左侧的,则更新tmp
            double t=s[i+1]-s[i];
            tmp=tmp<t?t:tmp;
        } else {//找到最大的范围,可以让任意两路灯互相照射到
            double p=(s[i+1]-s[i])/2.0;//注意除2.0
            if(p>max) {
                max=p;
            }
        }
    }
    printf("%.10lf\n",tmp<max?max:tmp);//保证最大照射范围能覆盖两头的照射范围
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这个不错分享给大家,从扣上看到的,就转过来了 《电脑专业英语》 file [fail] n. 文件;v. 保存文...
    麦子先生R阅读 7,215评论 5 24
  • 23花桥——我的情人 我有两个情人 一个种成无痕的春梦,一个就是你,花桥 我把你种成一个个长短句,一串串风铃 你没...
    秭归秀才9条命儿阅读 192评论 0 0
  • 20180107 写在前面: 平凡的上学,平凡的生病,平凡的工作。 平凡的忧伤,平凡的成长,平凡的经历。 如果生活...
    慢慢走江湖阅读 253评论 0 2
  • 心 与 梦 给你 夜 雨 愁 留我 身无翼 心灵犀 伤我 双丝网 千千结 是我
    罗什莲花阅读 130评论 0 1

友情链接更多精彩内容