此题链接单击这里
=================
题意:
一条长度为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