2026年J组模拟赛10连测第6场-T3 程老师的摊位
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
| 项目 | 说明 |
|---|---|
| 文件名 | stall |
| 输入文件 | stall.in |
| 输出文件 | stall.out |
| 时间限制 | 1000 ms |
| 内存限制 | 512 MB |
题目描述
程老师打算在城里的商业街上摆摊。这条街是笔直的,从街头到街尾,沿路一侧早就划好了一长排摊位,都是给像程老师这样的摊主准备的。街上一共划了 n 个候选摊位,每个候选摊位都有一个固定的位置,位置划好了就不能随便挪动。程老师亲自把这条街从头到尾走了一遍,把每个候选摊位的位置都记在了心里:第 i 个候选摊位离街头那一端的距离是 x_i。这些位置两两不同,有的挨着街口,有的快到了街尾,有的就夹在中间,错落着排开。
摊位是紧俏的,程老师看中的一些位置,早就被别人订走了。被订走的摊位一共有 m 个,这些摊位的位置也都定了下来,并且一定都在这 n 个候选摊位里面。订走了的摊位,到时候是必须摆出来的,这一点程老师说了不算;他能拿主意的,只有那些还没被订走的候选摊位。
程老师打算一共摆 k 个摊位。摆摊有摆摊的讲究:两个摊位要是隔得太近,客人全挤在一处,谁家的买卖都做不好;要是隔得太远,一长条街显得冷清,客人都懒得走。程老师想让自己摆下的这些摊位彼此都隔得远一些。说得更准确些,他摆下的 k 个摊位,任意两个摊位之间都有一个距离,这些距离里头,总有一个是最小的;程老师就是想让这个最小的距离尽可能大。也就是说,在 m 个已经订好、非摆不可的摊位之外,程老师还要从剩下的候选摊位里挑出一些来,让摊位总数正好凑成 k 个,并且让这 k 个摊位当中"隔得最近的那两个摊位"之间的距离,尽可能地远。
这样订好的摊位摆在哪里,是已经定死的,不能改;而剩下的候选摊位,摆不摆、摆哪些,都由程老师自己说了算。他只想在满足这些前提的情况下,把自己的 k 个摊位安排得尽量散开,让最近的邻居都隔得远远的。
现在,请你帮程老师算一算:在必须摆上 m 个已订摊位、一共要摆 k 个摊位的前提下,最近的两个摊位之间的距离,最大能是多少?
输入格式
从文件 stall.in 中读入数据。
第一行三个整数 。
第二行 个整数,表示 个候选摊位的位置,两两不同,输入时给出的顺序没有规律。
第三行 个整数,表示被订走的 个摊位的位置,保证它们都在这 个候选摊位里。当 时,这一行仍然保留(可能是一个空行)。
输出格式
输出到文件 stall.out 中。
一行一个整数,表示最近的两个摊位之间的距离的最大可能值。
数据范围
| 测试点 | 特殊性质 | |
|---|---|---|
| 1 | 10 | 无 |
| 2~4 | 22 | |
| 5~8 | 100 | |
| 9~10 | 500 | |
| 11~12 | A | |
| 13~14 | B | |
| 15~20 | 无 |
特殊性质 A:。
特殊性质 B:。
对于所有测试点:,,。
样例
4 1 3
1 3 6 10
6
4
3 0 2
2 5 9
7
3 2 2
1 2 4
1 4
3
样例解释
样例 1:候选摊位在 1、3、6、10 四个位置,6 号位置已经被订走,必须摆上,一共要摆 3 个摊位。取距离 4 时,可以摆 1 号位、6 号位、10 号位,最近的两摊距离正好是 4;取距离 5 时,6 号位和 10 号位只隔了 4,凑不出 3 个彼此相隔至少 5 的摊位,所以答案是 4。