题目描述
题目描述
某学院有 名学生和 个社团。社团编号为从 到 。每名学生都有一个潜力值 ,并且是编号为 的社团的成员。初始时,每名学生恰好属于一个社团。学院举办了一场科技节,接下来的 天都会持续进行。在科技节期间,每天都会有一场编程比赛。
每天早上,学院中恰好有一名学生会离开其社团。一旦某名学生离开了社团,他之后就再也不会加入任何社团。每天下午,学院院长会从每个社团中选出一名学生(如果某个社团没有成员,则该社团无人被选出),组成当天编程比赛的队伍。队伍的强度定义为队伍中学生潜力值的 mex。院长想知道接下来 天中,每天队伍可能达到的最大强度。因此,每天院长都会选择使队伍强度最大化的队伍。
多重集合 的 mex 是不在 中出现的最小非负整数。例如, 的 mex 是 , 的 mex 是 ,而 (空集)的 mex 是 。
输入格式
第一行包含两个整数 和 ( ),表示学院中的学生数量和社团数量。
第二行包含 个整数 ( ),其中 表示第 名学生的潜力值。
第三行包含 个整数 ( ),表示第 名学生初始时是编号为 的社团的成员。
第四行包含一个整数 ( ),表示院长想知道队伍最大可能强度的天数。
接下来的 行中,每行包含一个整数 ( ),表示第 天第 名学生离开了其社团。保证第 名学生此前没有离开过其社团。
输出格式
对于 天中的每一天,输出当天队伍的最大可能强度。
5 3
0 1 2 2 0
1 2 2 3 2
5
3
2
4
5
1
3
1
1
1
0
5 3
0 1 2 2 1
1 3 2 3 2
5
4
2
3
5
1
3
2
2
1
0
5 5
0 1 2 4 5
1 2 3 4 5
4
2
3
5
4
1
1
1
1
提示
考虑第一个样例:
第一天,学生 离开了其社团。此时,剩下的学生为 、、 和 。我们可以选择学生 、 和 ,得到最大可能强度 。注意,我们不能选择学生 、 和 ,因为学生 和 属于同一个社团。此外,我们也不能选择学生 、 和 ,因为学生 已经离开了其社团。
第二天,学生 离开了其社团。此时,剩下的学生为 、 和 。我们可以选择学生 、 和 ,得到最大可能强度 。
第三天,剩下的学生为 和 。我们可以选择学生 和 ,得到最大可能强度 。
第四天,剩下的学生只有 。我们可以选择学生 ,得到最大可能强度 。
第五天,没有任何社团还有学生,因此最大可能强度为 。