luogu#P7948. [✗✓OI R1] 前方之风

[✗✓OI R1] 前方之风

题目背景

「不错的恶意。」
女性呵呵笑道。
「但是,如果向我发出恶意,你可是会死哦?」

你不知道什么动作会被算作发出恶意,所以你决定做一道题来分散自己的注意力。

题目描述

给出一个长度为 nn 的序列 aaqq 个询问,第 ii 个询问给出 kik_i。对于每次询问,你需要进行以下操作:

  1. 求出剩下的数的平均数 avg\mathit{avg}
  2. 将剩下的数中 <avgki<\mathit{avg}-k_i 的数删去。
  3. 重复以上两个步骤直到所有数都不会被删去。
  4. 输出最后会剩下几个数。

注意:询问之间是独立的,也就是说,不会真的删去那些数。

输入格式

本题有多组测试数据。

第一行一个整数 TT,表示测试数据的数量。
对于每一组数据,第一行两个整数 n,qn,q,表示数字个数和询问数量。
接下来一行 nn 个整数,第 ii 个整数表示 aia_i
接下来一行 qq 个整数,第 ii 个整数表示 kik_i

输出格式

输出共 TT 行,每行输出 qq 个整数,第 ii 个数表示第 ii 次询问最终会剩下几个数。

5
9 9
19 99 63 39 72 46 97 38 68 
0 6 4 0 7 1 0 3 6 
6 8
88 62 48 50 8 47 
0 6 1 5 2 2 6 1 
6 5
33 3 54 17 26 64 
87 89 92 70 59 
18 19
71 52 77 38 12 34 82 14 57 39 91 7 56 86 35 68 38 14 
9 9 1 5 1 3 4 5 6 1 6 0 3 0 2 1 3 5 8 
10 15
4 77 78 76 5 19 98 94 77 81 
17 43 4 86 2 91 85 4 81 74 44 16 21 69 32 

1 2 2 1 2 2 1 2 2
1 1 1 1 1 1 1 1
6 6 6 6 6
4 4 1 3 1 2 2 3 3 1 3 1 2 1 1 1 2 3 4
7 7 2 10 2 10 10 2 10 10 7 7 7 10 7

1
5 1
20 0 0 0 0
5
5

提示

【样例解释】

对于第一组样例,当 k=0k=0 时,显然只会留下 9999
k=6k=6 时,删除数的步骤如下:

  • 平均数为 601960\dfrac{1}{9},留下 99,63,72,97,6899,63,72,97,68
  • 平均数为 79.879.8,留下 99,9799,97
  • 平均数为 9898,停止删除。

【数据范围】

对于 100%100\% 的数据,满足 1n,q1051\leq n,q \le 10^51T101\le T \le 100ai,ki1090 \le a_i,k_i \le 10^9

subtask 特殊数据范围 分数 时间限制
1 n,q200n,q \le 200 20 300ms
2 n,q2000n,q \le 2000 30
3 50 800ms

「不错的恶意。」
女性呵呵笑道。
「而且你运气很不错,如果放在以前,你早就死了。」