「EZEC-9」模糊众数
题目描述
给你一个长为 $n$ 的序列 $a$。
你可以将序列中的某个数增加 $1$,称为一次操作。
你需要处理 $q$ 次询问。
对于每次询问,求出 $a$ 在至少多少次操作后,可以形成一个序列 $a'$,使得 $x$ 为 $a'$ 的众数。
**注意:一个序列可能有多个众数。**
输入输出格式
输入格式
第一行两个整数 $n,q$。
第二行 $n$ 个整数 $a_1,a_2,\ldots,a_n$。
后 $q$ 行每行一个整数 $x$。
输出格式
对于每次询问,若无解输出 `-1`,否则输出最少的操作次数。
每个答案之间用换行隔开。
输入输出样例
输入样例 #1
6 2
1 1 1 3 3 3
2
10
输出样例 #1
3
13
说明
**【样例 1 解释】**
- $x=2$ 时,一种可行的方案为 $a'=[1,2,2,3,3,4]$。
- $x=10$ 时,一种可行的方案为 $a'=[1,2,3,4,5,10]$。
**【数据规模与约定】**
**本题采用捆绑测试。**
- Subtask 1(5 points):$n=3$。
- Subtask 2(5 points):所有 $a_i$ 均相等,**时间限制为 2000 ms**。
- Subtask 3(5 points):$n\le 10$,$q\le 10^3$。
- Subtask 4(15 points):$n\le 100$,$q\le 10^4$。
- Subtask 5(15 points):$n\le 10^3$。
- Subtask 6(15 points):$q\le 10^3$。
- Subtask 7(40 points):**时间限制为 2000 ms**。
对于 $100\%$ 的数据,$1\le n,q\le 10^5$,$1\le a_i,x\le 10^9$。