(Vanya and Lanterns)Codeforces Round #280 (Div. 2)B

一道关于计算灯泡最小半径以照亮所有位置的数学问题,需要对灯的位置排序并求解最大差值的一半,同时考虑边界情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此题链接单击这里

=================

题意:
一条长度为L的街道,上有N个灯,给出N个灯所在的位置(0<=ai<=L)。问灯的最小半径为多少才能照亮整个街道。
思路:
先把所的灯进行排序,用位置大的数减去位置小的数除以2,取最大值。最后还要和a[0],l-a[n]比较。
做这题时脑子很乱,看了别人的代码后心都碎了。。。。。。

#include <iostream>
#include <cstdio>
#include <queue>
#include <stack>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
int n;
long long  l;
long long  a[1010];
int main()
{
    cin>>n>>l;
    for(int i=0;i<n;i++)
        cin>>a[i];
    sort(a,a+n);
    double m=max(a[0]-0,l-a[n-1]);
    for(int i=1;i<n;i++)
       m=max(m,(a[i]-a[i-1])/2.0);
    printf("%.10lf\n",m);
}

有问题联系企鹅791267032
邮箱地址….wutanrong@Hotmail.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值