题目描述
我们定义可重集合的减法为如下:设有两个集合 A,B,若某个元素 x 在 A 中出现了 a 次,在 B 中出现了 b 次。如果 a≤b,那么 x 不存在于 A−B 中;否则,它会在 A−B 中出现 a−b 次。
简单起见,我们假设集合中的所有元素都是整数。现给出两个可重集合 A,B,请求出 A−B 的结果。
通俗解释:如果 A 中有元素 x,那么把 A 中的 x 元素数量减去 B 中 x 元素的数量,直到没有为止
输入格式
第一行两个整数 n,m,分别表示可重集合 A,B 的元素个数。
第二行 n 个整数 ai,表示可重集合 A 中的元素。
第三行 m 个整数 bi,表示可重集合 B 中的元素。
输出格式
一行中若干以一个空格隔开的整数,表示 A−B 中的元素。要求从大到小按序输出。
如果 A−B 为空集(A−B 中没有元素),则什么也不用输出。
样例
3 3
1 2 3
2 3 3
1
说明/提示
样例解释
样例中,1 在 A 中出现了 1 次,在 B 中出现了 0 次,故在 A−B 中出现了 1 次。2,3 均在 A 中出现了 1 次,而在 B 中分别出现了 1,2 次,则在 A−B 中都出现 0 次。
数据范围
对于前 10% 的数据,n=0。
对于前 20% 的数据,m=0。
对于前 30% 的数据,n,m≤103。
对于前 40% 的数据,0≤Ai,Bi≤106。
对于前 50% 的数据,0≤∣Ai∣,∣Bi∣≤106。
对于另外 20% 的数据,Ai,Bi 分别严格单调递增。
对于另外 20% 的数据,Ai,Bi 分别非严格单调递增。
对于 100% 的数据,0≤n,m≤106,∣Ai∣,∣Bi∣≤109。
若某数列 X 严格单调递增则满足 Xi<Xi+1,非严格递增则为 Xi≤Xi+1。