P2988 [USACO10MAR] Test Taking S

题目描述

农夫约翰需要参加一年一度的农民资格考试。考试很简单,只有 $N$ 道判断题($1 \le N \le 10^6$)。然而约翰去年考试却“杯具”了,贝茜希望今年能帮帮他。 贝茜得到可靠的小道消息,**答案为 true 的题目数量**一定是 $t_1, t_2, t_3, \dots, t_K$ 中的一个($0 \le t_i \le N$,$0 \le K \le 10^4$)。但具体是哪几道题的答案为 true,她完全不知道。 约翰想要知道,在认真研究了这些内部消息后(虽然不能确定任何一道题的具体答案),他**保证能获得的最高的分数**是多少? 为了说明贝茜的想法,考虑 $N = 6$ 的一次考试,贝茜知道答案为 true 的题的数量可能是 **0** 或者 **3**。 约翰可以这样制定策略: - 如果约翰**全部答 false**: - 当实际有 0 道题的正确答案是 true 时,约翰答对 6 题; - 当实际有 3 道题的正确答案是 true 时,约翰答对 3 题。 因此,只要约翰全部答 false,那么**至少一定能答对 3 题**,尽管他不知道每道题的确切答案。

输入格式

- 第一行:两个整数 $N$ 和 $K$ - 第二行到第 $K+1$ 行:每行一个整数 $t_i$

输出格式

- 一行:一个整数,表示约翰采用最优策略时,保证能获得的最高分数

说明/提示

翻译提供: @fan404