看完题目,我们可以知道他给了我们一条x轴,n代表灯笼数量,l代表了x轴长度,
下边的是路灯的坐标,我们需要把俩个路灯间的最长距离求出来,不要忘记开头和结尾的灯,比较共三段段距离。(保留十位小数)
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int n,l,f[1005];
cin>>n>>l;
for(int a=0;a<n;a++)
cin>>f[a];
sort(f,f+n);//排序,方便统计间隔长度
double mid=0,right,left,temp;
right=l-f[n-1];//最右边的路灯离最右端的距离
left=f[0];//最左边
for(int a=0;a<n-1;a++)
{
temp=f[a+1]-f[a];
if(mid<temp)
mid=temp;
}
mid=mid/2;//中间的距离肯定要/2
double final;
final=max(max(mid,right),left);
printf("%.10lf\n",final);
return 0;
}