#P1627. 求余来喽

求余来喽

题目描述

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

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

输入格式

第一行包含三个正整数 𝑛,𝑙,𝑟𝑛,𝑙,𝑟,意义如题面所示。

接下来一行包含 𝑛𝑛 个正整数,其中第 𝑖𝑖 个正整数为 ai (1ai4000)a_i\ (1≤ a_i ≤ 4000)

输出格式

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

1 20 1000
1002
167

虽然设置成 334334 也可以让求余结果为 00,但是题目要求输出最小的 kk,所以输出 167167

3 7 8
21 22 23
7

kk 设置为 77,则三个数字对 77 求余的结果分别是 001122,求和得到 33。设置为 88 的话,三个数字对 88 求余的结果分别是 556677,求和得到 181833 更小,所以输出 77 表示将 kk 设置为 77

数据范围/提示

样例 33附加文件

  • 对于 20%20\% 的数据,有 l=1l=1
  • 对于另外 20%20\% 的数据,有 l=rl=r
  • 对于另外 20%20\% 的数据,有 n=1n=1
  • 对于另外 20%20\% 的数据,有 ai<la_i<l
  • 对于 100%100\% 的数据,有 1lr30001\le l\le r\le 30001n30001\le n\le 3000