#P7856. 「EZEC-9」模糊众数

「EZEC-9」模糊众数

题目描述

给你一个长为 nn 的序列 aa。

你可以将序列中的某个数增加 11,称为一次操作。

你需要处理 qq 次询问。

对于每次询问,求出 aa 在至少多少次操作后,可以形成一个序列 a′a',使得 xx 为 a′a' 的众数。

注意:一个序列可能有多个众数。

输入格式

第一行两个整数 n,qn,q。

第二行 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

后 qq 行每行一个整数 xx。

输出格式

对于每次询问,若无解输出 -1,否则输出最少的操作次数。

每个答案之间用换行隔开。

6 2
1 1 1 3 3 3
2
10

3
13

提示

【样例 1 解释】

  • x=2x=2 时,一种可行的方案为 a′=[1,2,2,3,3,4]a'=[1,2,2,3,3,4]。
  • x=10x=10 时,一种可行的方案为 a′=[1,2,3,4,5,10]a'=[1,2,3,4,5,10]。

【数据规模与约定】

本题采用捆绑测试。

  • Subtask 1(5 points):n=3n=3。
  • Subtask 2(5 points):所有 aia_i 均相等,时间限制为 2000 ms。
  • Subtask 3(5 points):n≤10n\le 10,q≤103q\le 10^3。
  • Subtask 4(15 points):n≤100n\le 100,q≤104q\le 10^4。
  • Subtask 5(15 points):n≤103n\le 10^3。
  • Subtask 6(15 points):q≤103q\le 10^3。
  • Subtask 7(40 points):时间限制为 2000 ms。

对于 100%100\% 的数据,1≤n,q≤1051\le n,q\le 10^5,1≤ai,x≤1091\le a_i,x\le 10^9。