#P17. 求余来喽

求余来喽

Description

白浅妹妹今天学习了求余,她已经学会了,但是老师还是给了她 n 个数字让她练习求余。 但是老师只给了 n 个被除数, 并没有说除数是几, 只说除数的范围是 [l, r]。白浅妹妹决定 自己设置除数, 于是她从 [l, r] 中选择了一个正整数 k, 然后对每一个数字都对 k 求余, 得 到了 n 个新的数字。

白浅妹妹希望 n 个新的数字之和尽可能小, 于是她想问问你应该如何设置 k, 如果有多种 可能的答案,请输出最小的那一个。

Input Format

输入第一行包含三个正整数 n, l, r ,意义如题面所示。 接下来一行包含 n 个正整数,其中第 i 个正整数为 ai (1 ≤ ai ≤ 4000)。

Output Format

输出一行一个整数表示答案。

1 20 1000
1002
167
3 7 8
21 22 23
7

Hint

样例一说明 虽然设置成 334 也可以让求余结果为 0,但是题目要求输出最小的 k,所以输出 167。

样例二说明 将 k 设置为 7, 则三个数字对 7 求余的结果分别是 0,1,2, 求和得到 3。设置为 8 的话, 三个数字对 8 求余的结果分别是 5,6,7, 求和得到 18 。3 更小, 所以输出 7 表示 将 k 设置为 7。

【数据范围】 对于 1 − 2 测试点,有 l = 1 对于 3 − 4 测试点,有 l = r 对于 5 − 6 测试点,有 ai < l 对于 7 − 8 测试点,有 n = 1 对于 9 − 10 测试点,有 1 ≤ l ≤ r ≤ 3000, 1 ≤ n ≤ 3000