题目链接
题意:告诉你借到的长度是L,然后有m个街灯位置,然后问你街灯的半径R至少多大,才能够使整个街道每个位置都有灯光覆盖。
解答:贪心,先计算最大的2个街灯之间的距离,然后再看下端点处
#define CF
#ifndef CF
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<string>
#include<iostream>
#include<set>
#include<vector>
#else
#include<bits/stdc++.h>
#endif // CF
using namespace std;
#define LL long long
#define pb push_back
#define X first
#define Y second
#define cl(a,b) memset(a,b,sizeof(a))
typedef pair<long long ,long long > P;
const int maxn=1005;
const LL inf=1LL<<60;
const LL mod=1e9+7;
int a[maxn];
int main(){
int n,l;scanf("%d%d",&n,&l);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
int mx=0;
sort(a,a+n);
for(int i=1;i<n;i++){
mx=max(mx,a[i]-a[i-1]);
}
double t=mx;
t/=2;
t=max(a[0]*1.0,max(t,l*1.0-a[n-1]));
printf("%0.9lf\n",t);
return 0;
}