#AT0166. 可重集合

可重集合

题目描述

我们定义可重集合的减法为如下:设有两个集合 A,BA,B,若某个元素 xxAA 中出现了 aa 次,在 BB 中出现了 bb 次。如果 aba\le b,那么 xx 不存在于 ABA-B 中;否则,它会在 ABA-B 中出现 aba-b 次。

简单起见,我们假设集合中的所有元素都是整数。现给出两个可重集合 A,BA,B,请求出 ABA-B 的结果。

通俗解释:如果 AA 中有元素 xx,那么把 AA 中的 xx 元素数量减去 BBxx 元素的数量,直到没有为止

输入格式

第一行两个整数 n,mn,m,分别表示可重集合 A,BA,B 的元素个数。

第二行 nn 个整数 aia_i,表示可重集合 AA 中的元素。

第三行 mm 个整数 bib_i,表示可重集合 BB 中的元素。

输出格式

一行中若干以一个空格隔开的整数,表示 ABA-B 中的元素。要求从大到小按序输出。

如果 ABA-B 为空集(ABA-B 中没有元素),则什么也不用输出。

样例

3 3
1 2 3
2 3 3
1

说明/提示

样例解释

样例中,11AA 中出现了 11 次,在 BB 中出现了 00 次,故在 ABA-B 中出现了 11 次。2,32,3 均在 AA 中出现了 11 次,而在 BB 中分别出现了 1,21,2 次,则在 ABA-B 中都出现 00 次。

数据范围

对于前 10%10\% 的数据,n=0n=0

对于前 20%20\% 的数据,m=0m=0

对于前 30%30\% 的数据,n,m103n,m \le 10^3

对于前 40%40\% 的数据,0Ai,Bi1060\le A_i,B_i \le 10^6

对于前 50%50\% 的数据,0Ai,Bi1060\le |A_i|,|B_i| \le 10^6

对于另外 20%20\% 的数据,Ai,BiA_i,B_i 分别严格单调递增。

对于另外 20%20\% 的数据,Ai,BiA_i,B_i 分别非严格单调递增。

对于 100%100\% 的数据,0n,m106,Ai,Bi1090\le n,m \le 10^6, |A_i|,|B_i|\le 10^9

若某数列 XX 严格单调递增则满足 Xi<Xi+1X_i<X_{i+1},非严格递增则为 XiXi+1X_i \le X_{i+1}