本题没有可用的提交语言。
题目描述
您可能注意到,公交车司机有时会经过候车乘客,停在距离乘客与车门最远的位置。虽然具体原因未知(或许并非出于司机的恶意,而是为了让车内乘客更快下车),但某国政府决定在通勤铁路系统中引入自动驾驶功能。该系统需自动控制列车在站台的停靠位置:
-
问题建模:
- 站台长度为0<L≤5000。
- 站台上有0<M≤300名乘客,其位置为P1,P2,…,PM(满足0≤P1≤…≤PM≤L)。
- 列车有0<N≤300个车门,位置为D1,D2,…,DN(满足0=D1<D2<…<DN≤L,D1为基准车门)。
- 列车停靠位置S表示基准车门D1与站台起点的距离。停靠时需保证所有车门均在站台内(即S+DN≤L)。
-
目标函数:
- 乘客i到车门j的距离为dist(i,j,S)=∣Dj+S−Pi∣。
- 需最大化所有乘客到最近车门距离的总和:∑i=1Mminj=1Ndist(i,j,S)。
输入输出
- 输入:
- 第一行为站台长度L、乘客数M及乘客位置P1,…,PM。
- 第二行为车门数N及车门偏移量D2,…,DN(D1固定为0)。
- 输出:
- 最优停靠位置S及对应的距离总和。若有多解,输出任意一个。
示例
输入:
4
5
0 1 2 3 4
4
1 2 3
输出:
0.5 2.5
解释:
- 车门位置:D=[0,1,2,3]。
- 当S=0.5时:
- 车门实际位置:[0.5,1.5,2.5,3.5]。
- 乘客0最近车门0.5,距离0.5;乘客1最近车门1.5,距离0.5;依此类推。
- 总距离:0.5+0.5+0.5+0.5+0.5=2.5。
来源
Northeastern Europe 2002, Northern Subregion