#CF2048D. 凯文与竞赛回忆

凯文与竞赛回忆

D. Kevin 与竞赛回忆

时间限制:2 秒
内存限制:256 兆字节

Kevin 曾经沉浸在里约的回忆中,在这些回忆里曾经举办过一系列竞赛。Kevin 记得所有参赛者和所有竞赛题目,但他忘记了具体轮次、题目分配方式以及确切排名。

一共有 mm 道题目,第 ii 道题的难度为 bib_i。 每场竞赛恰好由 kk 道题组成,总共可以举办 mk\left\lfloor \dfrac{m}{k} \right\rfloor 场竞赛。 也就是说: 从所有题目中恰好选出 mkk\left\lfloor \dfrac{m}{k} \right\rfloor \cdot k用来组成竞赛,每道题最多只用一次; 剩余 mmodkm \bmod k 道题闲置不用。

举例:若 m=17m=17k=3k=3,则恰好举办 173=5\left\lfloor \dfrac{17}{3} \right\rfloor = 5 场竞赛,每场 33 题,剩余 22 题闲置。

共有 nn 名参赛者,Kevin 是第 11 名参赛者。 第 ii 名参赛者的评分为 aia_i

规则:每名参赛者能解决所有难度不超过自身评分的题目, 即第 ii 人能做出第 jj 题 当且仅当 aibja_i \ge b_j

在每场竞赛中: Kevin 的排名 = 比 Kevin 做出题目数量更多的人数 +1+1

对每个 k=1,2,,mk=1,2,\dots,m,求: 合理划分题目成若干场竞赛后,Kevin 在所有竞赛中的排名总和的最小值

注意:不同 kk 之间互相独立,每种 kk 可以独立选择题目划分方案。


输入格式

多组测试数据。 第一行一个整数 tt1t51041\le t\le 5\cdot 10^4),表示测试组数。

每组测试数据: 第一行两个整数 n,mn,m1n,m31051\le n,m\le 3\cdot 10^5),分别为参赛人数、题目数量。 第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n0ai1090\le a_i\le 10^9),代表每个人的评分。 第三行 mm 个整数 b1,b2,,bmb_1,b_2,\dots,b_m0bi1090\le b_i\le 10^9),代表每道题的难度。

保证:所有测试数据中,n3105\sum n \le 3\cdot 10^5m3105\sum m \le 3\cdot 10^5

输出格式

对每组测试数据,输出 mm 个整数,依次表示 k=1,2,,mk=1,2,\dots,m 时,Kevin 最小排名总和。


样例输入

4
4 4
4 3 7 5
2 5 4 6
5 5
5 0 4 8 6
1 3 9 2 7
6 7
1 1 4 5 1 4
1 9 1 9 8 1 0
7 6
1 9 1 9 8 1 0
1 1 4 5 1 4

样例输出

7 4 2 3
6 2 1 1 2
7 3 2 1 1 1 1
15 9 5 4 4 4

题目注释(第一组样例说明)

第一组测试数据: n=4, m=4n=4,\ m=4 选手评分:a=[4,3,7,5]a=[4,3,7,5] 题目难度:b=[2,5,4,6]b=[2,5,4,6]

  • k=1k=1:每场竞赛只有 11 道题,分配方式唯一。 四场竞赛 Kevin 排名依次为 1,3,1,21,3,1,2,总和为 77

  • k=2k=2:最优划分: 第一场:题 1、题 3;第二场:题 2、题 4。 第一场四人做题数:2,1,2,22,1,2,2,Kevin 排名为 11; 第二场四人做题数:0,0,2,10,0,2,1,有 22 人比 Kevin 多,排名 2+1=32+1=3。 总和 1+3=41+3=4,已是最优。

  • k=3k=3:选出题 1、题 3、题 4 组成一场竞赛,Kevin 排名为 22

  • k=4k=4:只能全部题目作为一场竞赛,Kevin 排名为 33