CF1355B Young Explorers
题目描述
年轻的荒野探险者们在资深探险家 Russell 的带领下,踏上了他们的第一次探险之旅。探险者们进入森林,搭建了营地,并决定分组以探索尽可能多的有趣地点。Russell 正在尝试组队,但遇到了一些困难……
大多数年轻探险者都缺乏经验,单独派他们行动是不明智的。即使是 Russell 自己,也是在不久前才成为资深探险家的。每个年轻探险者都有一个正整数参数 $e_i$ —— 代表他的经验不足值。Russell 决定,经验不足值为 $e$ 的探险者只能加入人数不少于 $e$ 的小组。
现在 Russell 需要计算,他最多可以组织多少个小组。并不是每个探险者都必须被分进某个小组:有些人可以留在营地。Russell 对这次探险感到担忧,所以他请求你帮忙。
输入格式
第一行包含独立测试用例的数量 $T$($1 \leq T \leq 2 \cdot 10^5$)。接下来的 $2T$ 行描述各个测试用例。
每个测试用例的第一行包含年轻探险者的数量 $N$($1 \leq N \leq 2 \cdot 10^5$)。
第二行包含 $N$ 个整数 $e_1, e_2, \ldots, e_N$($1 \leq e_i \leq N$),其中 $e_i$ 表示第 $i$ 个探险者的经验不足值。
保证所有 $N$ 的总和不超过 $3 \cdot 10^5$。
输出格式
输出 $T$ 行,每行一个整数。
第 $i$ 行输出 Russell 在第 $i$ 个测试用例中最多能组织的小组数量。
说明/提示
在第一个样例中,我们可以组织三个小组。每个小组里只有一名探险者。这样是允许的,因为每位探险者的经验不足值都是 $1$,不小于其所在小组的人数。
在第二个样例中,我们可以组织两个小组。经验不足值为 $1$、$2$ 和 $3$ 的探险者组成第一个小组,另外两个经验不足值为 $2$ 的探险者组成第二个小组。
这个方案不是唯一的。例如,我们也可以用三个经验不足值为 $2$ 的探险者组成第一个小组,用唯一的经验不足值为 $1$ 的探险者组成第二个小组。这样,经验不足值为 $3$ 的年轻探险者将不会被分进任何小组。
由 ChatGPT 4.1 翻译