#P12648. 「OOI 2021 Day 2」子集魔术
「OOI 2021 Day 2」子集魔术
题目描述
瓦尼亚发明了一个有趣的整数集合魔术。
假设魔术师有一个正整数集合 。他会说出一个正整数 。观众需要选择一个 的子集(可以是空集),但不能让魔术师看到。接着,观众告诉魔术师所选子集的大小。魔术的重点在于,魔术师随后需要猜出:所选子集的元素之和是否不超过 。对于空集,假设其和为 。
瓦尼亚非常喜欢这个魔术,因此开始准备向公众展示。为此,他准备了一个由不同正整数组成的集合 。当然,瓦尼亚希望魔术一定能成功。他将一个正整数 定义为失败的,如果他无法确定对于观众选择的任何子集,魔术都能成功。
为了评估他选择的集合 的好坏,他想计算出对于该集合有多少个失败的正整数。
此外,瓦尼亚计划测试不同的集合 。因此,他请求你编写一个程序,计算初始集合 的失败正整数数量,以及每次修改后的集合 的失败正整数数量。瓦尼亚将进行 次集合修改,每次修改为以下两种操作之一:
- 在集合 中添加一个新数字 。
- 从集合 中删除一个数字 。
输入格式
第一行包含两个整数 和 ,分别表示初始集合 的大小和修改次数。
第二行包含 个不同的整数 ,表示初始集合 的元素。
接下来的 行,每行包含两个整数 和 ,描述一次修改操作。
- 如果 ,则表示将新数字 添加到集合 中。保证在执行操作前,该数字不在集合 中。
- 如果 ,则表示从集合 中删除数字 。保证在执行操作前,该数字在集合 中。
输出格式
输出 行。
第一行输出初始集合 的失败正整数数量。接下来的 行输出每次修改后集合 的失败正整数数量。
3 11
1 2 3
2 1
1 5
1 6
1 7
2 6
2 2
2 3
1 10
2 5
2 7
2 10
4
1
6
12
19
13
8
2
10
3
0
0
数据范围与提示
详细子任务附加限制及分值如下表所示。其中子任务 是样例。
子任务 | 分值 | 附加限制 | 子任务依赖 | 备注 |
---|---|---|---|---|
,,所有 | ||||
,, | ||||
, | ||||
, | ||||
, | ||||
, | ||||