CF1781B Going to the Cinema

题目描述

有一个由 $n$ 个人组成的公司计划一起去看电影。每个人可以选择去电影院,也可以选择不去。这取决于有多少其他人会去。具体来说,每个人 $i$ 说:“只有当至少有 $a_i$ 个其他人去(不包括我自己)时,我才想去电影院。” 这意味着,如果出现以下情况,$i$ 就会感到难过: - 他去了电影院,但去的人中(不包括他自己)严格少于 $a_i$ 个; - 他没有去电影院,但去的人中(不包括他自己)至少有 $a_i$ 个。 问有多少种选择去电影院的人集合的方法,使得没有人感到难过?

输入格式

每个测试点包含多组测试数据。第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。 每组测试数据包含两行。第一行包含一个整数 $n$($2 \le n \le 2 \cdot 10^5$),表示公司的人数。 第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \le a_i \le n - 1$),表示每个人的要求。 保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。

输出格式

对于每组测试数据,输出一个整数,表示有多少种不同的方法选择去电影院的人集合,使得没有人感到难过。

说明/提示

在第一个测试用例中,两个人都希望只有当另一个人也去时才去电影院。有两种有效方案:要么两个人都去,要么两个人都不去。如果只有一个人去,两个人都会感到难过。 在第二个测试用例中,所有人都必须去电影院。否则,至少会有一个人感到难过。 在第三个测试用例中,有三种有效方案:第 $2$ 个人去电影院;第 $2, 3, 4, 7$ 个人去电影院;或者所有 $8$ 个人都去。 由 ChatGPT 4.1 翻译