题目
详细叙述已经记不下来了,题目大意如下:
一条A点到B点的道路长 l ,现在为该条道路设置 n 个路灯,每个路灯照射的长度固定为 d ,假设这 n 个路灯分别设置在 a1,a2...ai...an ,(路灯可以设置在首尾A点B点处,也可以在同一点设置多个),求使得整条道路保持光明的最小 d。
输入:第一行为道路长度 l 以及路灯总数 n , 第二行为 n 个路灯的位置 a1,a2...ai...an 。
输出:d
分析
因为所有路灯的照射长度相等,要使得整条道路保持光明的前提条件就是,长度 d 使得两个距离为Lmax最远的路灯为有光的,也就是说 d>=Lmax/2 。另外,容易忽略的一点就是,并不是说道路两端总设有路灯的,当道路两端设有一个或者并没有设置路灯时,设起点A 第一个路灯的为距离L1,最后一个路灯 尾点B的为距离L2,则距离d必须取L1,L2,(Lmax/2)三者的最大值。
程序实现